الدالة str.maketrans()‎ في بايثون

من موسوعة حسوب
< Python‏ | str
مراجعة 20:40، 8 مايو 2018 بواسطة Mohammed Taher (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>str.maketrans()‎</code> في بايثون}}</noinclude> تعيد هذه الدالة الساكنة جدول ترجمة...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)


تعيد هذه الدالة الساكنة جدول ترجمة يمكن استخدامه بواسطة الدالة str.translate().

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

x.maketrans()

المعاملات

في حال تمرير معامل واحد فإنّه يجب أن يكون قاموسًا يربط أرقام الحروف في الترميز الموحد (Unicode ordinals) وهي أعداد صحيحة أو الحروف (سلاسل نصية ذات حرف واحد) بأرقام الحروف في الترميز الموحد أو سلاسل نصية (ذات عدد غير محدد من الحروف) أو None. بعد ذلك يجري تحويل مفاتيح الحروف إلى أرقام الحروف في الترميز الموحد.

في حال استخدام معاملين فيجب حينئذ أن يكونا سلسلتين نصيتين متساويتين في الطول، وفي القاموس الناتج سيجري ربط كلّ حرف في x بالحرف الذي يمتلك الموضع نفسه في y.

وفي حال استخدام المعامل الثالث، فيجب حينئذ أن يكون سلسلة نصية، وستربط حروفها بالقيمة None في النتيجة المعادة.

أمثلة

يبين المثال التالي طريقة استخدام الدالة لإنشاء جدول الترجمة:

>>> 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'

انظر أيضًا

مصادر