الفرق بين المراجعتين لصفحة: «Python/str/translate»

من موسوعة حسوب
< Python‏ | str
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>str.translate()‎</code> في بايثون}}</noinclude> تعيد الدالة‎ الحروف في Python/str|السلس...'
 
ط استبدال النص - ':الدالة' ب':التابع'
 
(4 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة <code>str.translate()‎</code> في بايثون}}</noinclude>
<noinclude>{{DISPLAYTITLE:التابع <code>str.translate()‎</code> في بايثون}}</noinclude>
تعيد الدالة‎ الحروف في [[Python/str|السلسلة النصية]] بالاعتماد على جدول الترجمة translation table.
يعيد التابع‎ الحروف في [[Python/str|السلسلة النصية]] بالاعتماد على جدول التحويل (translation table).


== البنية العامة ==
== البنية العامة ==
سطر 12: سطر 12:
=== <code>table</code> ===
=== <code>table</code> ===


يجب أن يكون الجدول كائنًا يؤدي عملية الفهرسة indexing باستخدام التابع __getitem()‎__ وعادة ما يكون تسلسلًا أو [[Python/dict|قاموسًا]].
يجب أن يكون الجدول كائنًا يؤدي عملية الفهرسة (indexing) باستخدام التابع <code>__getitem()‎__</code> وعادة ما يكون تسلسلًا أو [[Python/dict|قاموسًا]]. (راجع التابع <code>[[Python/str/maketrans|str.maketrans()‎]]</code> للمزيد من المعلومات حول كيفية إنشاء هذا الجدول).


== القيمة المعادة ==
== القيمة المعادة ==
سطر 24: سطر 24:
* إطلاق الاستثناء <code>LookupError</code>، وذلك لربط الحرف بنفسه.
* إطلاق الاستثناء <code>LookupError</code>، وذلك لربط الحرف بنفسه.


يمكن استخدام التابع <code>[[Python/str/maketrans|str.maketrans()]]‎</code> لإنشاء جدول الترجمة وذلك بربط الحروف بعضها ببعض وبأشكال مختلفة.
يمكن استخدام التابع <code>[[Python/str/maketrans|str.maketrans()]]‎</code> لإنشاء جدول تحويل وذلك بربط الحروف بعضها ببعض وبأشكال مختلفة.


== أمثلة ==
== أمثلة ==
يوضّح المثال التالي طريقة استخدام الدالتين <code>str.maketrans()‎</code> و <code>str.translate()‎</code>
يوضّح المثال التالي طريقة استخدام التابعين <code>str.maketrans()‎</code> و <code>str.translate()‎</code>:


<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
سطر 44: سطر 44:
'xyzxyz'
'xyzxyz'
</syntaxhighlight>
</syntaxhighlight>
 
==انظر أيضًا==
== انظر أيضًا ==
*[[Python/str|السلاسل النصية في بايثون.]]
* [[Python/str/maketrans|الدالة maketrans()‎ في بايثون.]]
*التابع <code>[[Python/str/capitalize|str.capitalize()‎]]</code>: إعادة نسخة من السلسلة النصية مع تحويل الحرف الأول إلى حرف كبير، والأحرف الباقية إلى أحرف صغيرة.
* [[Python/str|السلاسل النصية في بايثون.]]
*التابع <code>[[Python/str/casefold|str.casefold()‎]]</code>: إعادة السلسلة النصية بحالة casefolded، ويمكن استخدام هذا النوع من السلاسل لإجراء المقارنة دون الاعتماد على حالة الأحرف.
* [[Python/dict|القواميس في بايثون.]]
*التابع <code>[[Python/str/center|str.center()‎]]</code>: إعادة أحرف السلسلة النصية مزاحة نحو الوسط ضمن سلسلة نصّية ذات طول محدّد.
 
*التابع <code>[[Python/str/count|str.count()‎]]</code>: إعادة عدد مرات ظهور سلسلة نصية فرعية ضمن السلسلة الأصلية.
*التابع <code>[[Python/str/encode|str.encode()‎]]</code>: إعادة نسخة مرمّزة من السلسلة النصية على هيئة <nowiki/>[[Python/bytes|بايتات]].
*التابع <code>[[Python/str/endswith|str.endswith()‎]]</code>: التحقق من وجود سلسلة نصية فرعية في نهاية السلسلة النصية الأصلية.
*التابع <code>[[Python/str/expandtabs|str.expandtabs()‎]]</code>: إعادة نسخة من السلسلة النصية بعد تحويل جميع علامات الجدولة إلى مسافة بيضاء واحدة أو أكثر.
*التابع <code>[[Python/str/find|str.find()‎]]</code>: إعادة أدنى قيمة للفهرس في السلسلة النصية والذي تكون السلسلة الفرعية موجودة فيه ضمن الجزء المقتطع من السلسلة.
*التابع <code>[[Python/str/format|str.format()‎]]</code>: إجراء عمليات التنسيق على السلسلة النصية بواسطة <nowiki/>[[Python/arguments|معاملات موضعية]] أو <nowiki/>[[Python/arguments#.D9.85.D8.B9.D8.A7.D9.85.D9.84.D8.A7.D8.AA .D8.A7.D9.84.D9.83.D9.84.D9.85.D8.A7.D8.AA .D8.A7.D9.84.D9.85.D9.81.D8.AA.D8.A7.D8.AD.D9.8A.D8.A9|مفتاحية]].
*التابع <code>[[Python/str/format_map|str.format_map()‎]]</code>: إجراء عمليات التنسيق على السلسلة النصية بواسطة <nowiki/>[[Python/dict|قاموس]].
*التابع <code>[[Python/str/index|str.index()‎]]</code>: إجراء نفس وظيفة الدالة <code>[[Python/str/find|str.find()‎]]</code>.
*التابع <code>[[Python/str/isalnum|str.isalnum()‎]]</code>: التحقق ممّا إذا كانت السلسلة النصية تضمّ حروفًا وأرقامًا وأنّها تضمّ حرفًا واحدًا على الأقل.
*التابع <code>[[Python/str/isalpha|str.isalpha()‎]]</code>: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من الحروف فقط، وأنّ فيها حرفًا واحدًا على الأقل.
*التابع <code>[[Python/str/isdecimal|str.isdecimal()‎]]</code>: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من حروف الأعداد العشرية فقط، وأنّ فيها حرفًا واحدًا على الأقل.
*التابع <code>[[Python/str/isdigit|str.isdigit()‎]]</code>: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من حروف الأعداد (digits) فقط، وأنّ فيها حرفًا واحدًا على الأقل.
*التابع <code>[[Python/str/isidentifier|str.isidentifier()‎]]</code>: التحقق ممّا إذا كانت السلسلة النصية تتضمّن معرّفًا صحيحًا (identifier) في لغة بايثون.
*التابع <code>[[Python/str/islower|str.islower()‎]]</code>: التحقق ممّا إذا كانت حروف السلسلة النصية حروفًا صغيرة (lowercase).
*التابع <code>[[Python/str/isnumeric|str.isnumeric()‎]]</code>: التحقق ممّا إذا كانت جميع الحروف في السلسلة النصية حروفًا عددية، وأنّ هناك حرفًا واحدًا على الأقل في تلك السلسلة.
*التابع <code>[[Python/str/isprintable|str.isprintable()‎]]</code>: التحقق ممّا إذا كانت جميع الحروف في السلسلة النصية قابلة للطباعة أو أن السلسلة النصية فارغة.
*التابع <code>[[Python/str/isspace|str.isspace()‎]]</code>: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من حروف مسافات بيضاء فقط وأنّ في السلسلة حرفًا واحدًا على الأقل.
*التابع <code>[[Python/str/istitle|str.istitle()‎]]</code>: التحقق ممّا إذا كانت أوائل الكلمات في السلسلة النصية حروفًا كبيرة (titlecased).
*التابع <code>[[Python/str/isupper|str.isupper()‎]]</code>: التحقق ممّا إذا كانت جميع الحروف في السلسلة النصية حروفًا كبيرة.
*التابع <code>[[Python/str/join|str.join()‎]]</code>: إعادة السلسلة النصية الناتجة عن ربط السلاسل النصية التابعة لكائن قابل للتكرار (iterable).
*التابع <code>[[Python/str/ljust|str.ljust()‎]]</code>: إعادة أحرف السلسلة النصية مزاحة نحو اليسار ضمن سلسلة نصّية ذات طول محدّد.
*التابع <code>[[Python/str/lower|str.lower()‎]]</code>: تحويل جميع الحروف في السلسلة النصية إلى حروف صغيرة.
*التابع <code>[[Python/str/lstrip|str.lstrip()‎]]</code>: حذف الحروف التي يحدّدها المستخدم من بداية السلسلة النصية.
*التابع <code>[[Python/str/maketrans|str.maketrans()‎]]</code>: إعادة جدول تحويل يمكن استخدامه بواسطة الدالة <code>[[Python/str/translate|str.translate()]]‎</code>.
*التابع <code>[[Python/str/partition|str.partition()‎]]</code>: تقسيم السلسلة النصية عند أول ظهور للقيمة التي يحدّدها المستخدم.
*التابع <code>[[Python/str/replace|str.replace()‎]]</code>: تبديل هذه الدالة العبارة التي يختارها المستخدم - مهما تكرّرت في السلسلة النصية - إلى القيمة الجديدة التي يحدّدها.
*التابع <code>[[Python/str/rfind|str.rfind()‎]]</code>: إعادة أعلى قيمة للفهرس في السلسلة النصية حيث تجد فيه السلسلة النصية الفرعية.
*التابع <code>[[Python/str/rindex|str.rindex()‎]]</code>: إعادة أعلى قيمة للفهرس في السلسلة النصية حيث تجد فيه السلسلة النصية الفرعية.
*التابع <code>[[Python/str/rjust|str.rjust()‎]]</code>: إعادى أحرف السلسلة النصية مزاحة نحو اليمين ضمن سلسلة نصّية ذات طول محدّد.
*التابع <code>[[Python/str/rpartition|str.rpartition()‎]]</code>: تقسيم السلسلة النصية عند آخر ظهور للقيمة التي يحدّدها المستخدم.
*التابع <code>[[Python/str/rsplit|str.rsplit()‎]]</code>: تحويل السلسلة النصية من جهة اليمين إلى <nowiki/>[[Python/list|قائمة]] من السلاسل النصية بالاعتماد على الفاصل الذي يحدّده المستخدم.
*التابع <code>[[Python/str/rstrip|str.rstrip()‎]]</code>: حذف الحروف التي يحدّدها المستخدم من نهاية السلسلة النصية.
*التابع <code>[[Python/str/split|str.split()‎]]</code>: تقسيم السلسلة النصية إلى <nowiki/>[[Python/list|قائمة]] من السلاسل النصية بالاعتماد على فاصل محدّد.
*التابع <code>[[Python/str/splitlines|str.splitlines()‎]]</code>: تقسيم السلسلة النصية إلى <nowiki/>[[Python/list|قائمة]] من الأسطر.
*التابع <code>[[Python/str/startswith|str.startswith()‎]]</code>: التحقق من أنّ السلسلة النصية تبدأ بالقيمة التي يحدّدها المستخدم.
*التابع <code>[[Python/str/strip|str.strip()‎]]</code>: حذف الحروف المحدّدة من قبل المستخدم من نهاية وبداية السلسلة النصية.
*التابع <code>[[Python/str/swapcase|str.swapcase()‎]]</code>: قلب حالة الحروف في السلسلة النصية.
*التابع <code>[[Python/str/title|str.title()‎]]</code>: تحويل أوائل الكلمات في السلسلة النصية إلى أحرف كبيرة (Title Case).
*التابع <code>[[Python/str/upper|str.upper()‎]]</code>: تحويل الحروف في السلسلة النصية إلى حروف كبيرة.
*التابع <code>[[Python/str/zfill|str.zfill()‎]]</code>: إضافة أصفار من الترميز ASCII إلى يسار السلسلة النصية لتصبح السلسلة بالطول المحدد من قبل المستخدم.
== مصادر ==
== مصادر ==
* [https://docs.python.org/3/library/stdtypes.html#str.translate قسم translate في صفحة Types في توثيق بايثون الرسمي.]
* [https://docs.python.org/3/library/stdtypes.html#str.translate قسم translate في صفحة Types في توثيق بايثون الرسمي.]
[[تصنيف:Python]]
[[تصنيف:Python]]
[[تصنيف:Python Function]]
[[تصنيف:Python Method]]
[[تصنيف:Python Built-in Functions]]
[[تصنيف:Python Types]]
[[تصنيف:Python Str]]

المراجعة الحالية بتاريخ 11:59، 10 يونيو 2018

يعيد التابع‎ الحروف في السلسلة النصية بالاعتماد على جدول التحويل (translation table).

البنية العامة

x.translate()

المعاملات

table

يجب أن يكون الجدول كائنًا يؤدي عملية الفهرسة (indexing) باستخدام التابع __getitem()‎__ وعادة ما يكون تسلسلًا أو قاموسًا. (راجع التابع str.maketrans()‎ للمزيد من المعلومات حول كيفية إنشاء هذا الجدول).

القيمة المعادة

يعيد التابع نسخة من السلسلة النصية بعد استبدال الحروف بالاعتماد على جدول الترجمة.

عند فهرسة كائن الجدول حسب رتب الترميز الموحد (أعداد صحيحة) يمكن للكائن أن يؤدي ما يلي:

  • إعادة رتبة ترميز موحد أو سلسلة نصية، وذلك لربط الحرف بحرف آخر أو أكثر.
  • إعادة القيمة None، وذلك لحذف الحرف من السلسلة المعادة.
  • إطلاق الاستثناء LookupError، وذلك لربط الحرف بنفسه.

يمكن استخدام التابع str.maketrans() لإنشاء جدول تحويل وذلك بربط الحروف بعضها ببعض وبأشكال مختلفة.

أمثلة

يوضّح المثال التالي طريقة استخدام التابعين str.maketrans()‎ و str.translate()‎:

>>> string1 = "abc"
>>> string2 = "xyz"
>>> string3 = "klm"
>>> string = "abcxyzklm"
>>> trans = string.maketrans(string1)
trans = string.maketrans(string1, string2)
>>> print(trans)
{97: 120, 98: 121, 99: 122}
>>> string.translate(trans)
'xyzxyzklm'
>>> trans = string.maketrans(string1, string2, string3)
>>> string.translate(trans)
'xyzxyz'

انظر أيضًا

  • السلاسل النصية في بايثون.
  • التابع str.capitalize()‎: إعادة نسخة من السلسلة النصية مع تحويل الحرف الأول إلى حرف كبير، والأحرف الباقية إلى أحرف صغيرة.
  • التابع str.casefold()‎: إعادة السلسلة النصية بحالة casefolded، ويمكن استخدام هذا النوع من السلاسل لإجراء المقارنة دون الاعتماد على حالة الأحرف.
  • التابع str.center()‎: إعادة أحرف السلسلة النصية مزاحة نحو الوسط ضمن سلسلة نصّية ذات طول محدّد.
  • التابع str.count()‎: إعادة عدد مرات ظهور سلسلة نصية فرعية ضمن السلسلة الأصلية.
  • التابع str.encode()‎: إعادة نسخة مرمّزة من السلسلة النصية على هيئة بايتات.
  • التابع str.endswith()‎: التحقق من وجود سلسلة نصية فرعية في نهاية السلسلة النصية الأصلية.
  • التابع str.expandtabs()‎: إعادة نسخة من السلسلة النصية بعد تحويل جميع علامات الجدولة إلى مسافة بيضاء واحدة أو أكثر.
  • التابع str.find()‎: إعادة أدنى قيمة للفهرس في السلسلة النصية والذي تكون السلسلة الفرعية موجودة فيه ضمن الجزء المقتطع من السلسلة.
  • التابع str.format()‎: إجراء عمليات التنسيق على السلسلة النصية بواسطة معاملات موضعية أو مفتاحية.
  • التابع str.format_map()‎: إجراء عمليات التنسيق على السلسلة النصية بواسطة قاموس.
  • التابع str.index()‎: إجراء نفس وظيفة الدالة str.find()‎.
  • التابع str.isalnum()‎: التحقق ممّا إذا كانت السلسلة النصية تضمّ حروفًا وأرقامًا وأنّها تضمّ حرفًا واحدًا على الأقل.
  • التابع str.isalpha()‎: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من الحروف فقط، وأنّ فيها حرفًا واحدًا على الأقل.
  • التابع str.isdecimal()‎: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من حروف الأعداد العشرية فقط، وأنّ فيها حرفًا واحدًا على الأقل.
  • التابع str.isdigit()‎: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من حروف الأعداد (digits) فقط، وأنّ فيها حرفًا واحدًا على الأقل.
  • التابع str.isidentifier()‎: التحقق ممّا إذا كانت السلسلة النصية تتضمّن معرّفًا صحيحًا (identifier) في لغة بايثون.
  • التابع str.islower()‎: التحقق ممّا إذا كانت حروف السلسلة النصية حروفًا صغيرة (lowercase).
  • التابع str.isnumeric()‎: التحقق ممّا إذا كانت جميع الحروف في السلسلة النصية حروفًا عددية، وأنّ هناك حرفًا واحدًا على الأقل في تلك السلسلة.
  • التابع str.isprintable()‎: التحقق ممّا إذا كانت جميع الحروف في السلسلة النصية قابلة للطباعة أو أن السلسلة النصية فارغة.
  • التابع str.isspace()‎: التحقق ممّا إذا كانت السلسلة النصية مكوّنة من حروف مسافات بيضاء فقط وأنّ في السلسلة حرفًا واحدًا على الأقل.
  • التابع str.istitle()‎: التحقق ممّا إذا كانت أوائل الكلمات في السلسلة النصية حروفًا كبيرة (titlecased).
  • التابع str.isupper()‎: التحقق ممّا إذا كانت جميع الحروف في السلسلة النصية حروفًا كبيرة.
  • التابع str.join()‎: إعادة السلسلة النصية الناتجة عن ربط السلاسل النصية التابعة لكائن قابل للتكرار (iterable).
  • التابع str.ljust()‎: إعادة أحرف السلسلة النصية مزاحة نحو اليسار ضمن سلسلة نصّية ذات طول محدّد.
  • التابع str.lower()‎: تحويل جميع الحروف في السلسلة النصية إلى حروف صغيرة.
  • التابع str.lstrip()‎: حذف الحروف التي يحدّدها المستخدم من بداية السلسلة النصية.
  • التابع str.maketrans()‎: إعادة جدول تحويل يمكن استخدامه بواسطة الدالة str.translate().
  • التابع str.partition()‎: تقسيم السلسلة النصية عند أول ظهور للقيمة التي يحدّدها المستخدم.
  • التابع str.replace()‎: تبديل هذه الدالة العبارة التي يختارها المستخدم - مهما تكرّرت في السلسلة النصية - إلى القيمة الجديدة التي يحدّدها.
  • التابع str.rfind()‎: إعادة أعلى قيمة للفهرس في السلسلة النصية حيث تجد فيه السلسلة النصية الفرعية.
  • التابع str.rindex()‎: إعادة أعلى قيمة للفهرس في السلسلة النصية حيث تجد فيه السلسلة النصية الفرعية.
  • التابع str.rjust()‎: إعادى أحرف السلسلة النصية مزاحة نحو اليمين ضمن سلسلة نصّية ذات طول محدّد.
  • التابع str.rpartition()‎: تقسيم السلسلة النصية عند آخر ظهور للقيمة التي يحدّدها المستخدم.
  • التابع str.rsplit()‎: تحويل السلسلة النصية من جهة اليمين إلى قائمة من السلاسل النصية بالاعتماد على الفاصل الذي يحدّده المستخدم.
  • التابع str.rstrip()‎: حذف الحروف التي يحدّدها المستخدم من نهاية السلسلة النصية.
  • التابع str.split()‎: تقسيم السلسلة النصية إلى قائمة من السلاسل النصية بالاعتماد على فاصل محدّد.
  • التابع str.splitlines()‎: تقسيم السلسلة النصية إلى قائمة من الأسطر.
  • التابع str.startswith()‎: التحقق من أنّ السلسلة النصية تبدأ بالقيمة التي يحدّدها المستخدم.
  • التابع str.strip()‎: حذف الحروف المحدّدة من قبل المستخدم من نهاية وبداية السلسلة النصية.
  • التابع str.swapcase()‎: قلب حالة الحروف في السلسلة النصية.
  • التابع str.title()‎: تحويل أوائل الكلمات في السلسلة النصية إلى أحرف كبيرة (Title Case).
  • التابع str.upper()‎: تحويل الحروف في السلسلة النصية إلى حروف كبيرة.
  • التابع str.zfill()‎: إضافة أصفار من الترميز ASCII إلى يسار السلسلة النصية لتصبح السلسلة بالطول المحدد من قبل المستخدم.

مصادر