بايثونالدالة maketrans()

تعريفها

تستخدم لبناء قاموس يمكن إستخدامه لتبديل أحرف النص بأحرف أخرى.

من بعدها يجب استخدام الدالة translate() لتطبيق القاموس الذي تم تجهيزه على النص.


بناؤها

static str.maketrans(x[, y[, z]])

باراميترات

  • مكان الباراميتر x نمرر الحرف أو مجموعة الأحرف المراد تبديلها بأحرف جديدة. كما أنه يمكن أن يتم تمرير قاموس بشكل مباشر مكانه و فيه يتم تحديد كل ما نريد تبديله و ما الذي سيتم استبداله به.
  • y هو باراميتر إختياري، مكانه يمكن تمرير الحرف أو مجموعة الأحرف المراد وضعها بدل الأحرف التي تم تمريرها مكان الباراميتر x.
  • z هو باراميتر إختياري، مكانه يمكن تمرير حرف أو مجموعة أحرف ليتم حذفها.

قيمة الإرجاع

ترجع قاموس نوعه table يمكن إستخدامه لتبديل أحرف النص بأحرف أخرى.


المثال الأول

Test.py
s = 'harmash.com'                       # s هنا قمنا بتعريف متغير نصي إسمه

dictionary = str.maketrans('a', '-')    # '-' بالرمز 'a' عند الترجمة بواسطة هذا القاموس سيتم تبديل كل حرف .dictionary هنا قمنا بإنشاء قاموس للترجمة إسمه

print(s)                                # كما هو s هنا قمنا بطباعة النص الموجود في المتغير
print(s.translate(dictionary))          # s على المتغير dictionary بعد تطبيق الترجمة المخزنة في القاموس translate() هنا قمنا بطباعة ما سترجعه الدالة

النتيجة

harmash.com
h-rm-sh.com

المثال الثاني

Test.py
s = 'harmash.com'                         # s هنا قمنا بتعريف متغير نصي إسمه

dictionary = str.maketrans('am', '-*')    # dictionary هنا قمنا بإنشاء قاموس للترجمة إسمه
                                          # '-' بالرمز 'a' عند الترجمة بواسطة هذا القاموس سيتم تبديل كل حرف
                                          # '*' بالرمز 'm' و سيتم تبديل كل حرف

print(s)                                  # كما هو s هنا قمنا بطباعة النص الموجود في المتغير
print(s.translate(dictionary))            # s على المتغير dictionary بعد تطبيق الترجمة المخزنة في القاموس translate() هنا قمنا بطباعة ما سترجعه الدالة

النتيجة

harmash.com
h-r*-sh.co*

المثال الثالث

Test.py
s = 'harmash.com'                           # s هنا قمنا بتعريف متغير نصي إسمه

dictionary = str.maketrans('a', '-', 'm')   # dictionary هنا قمنا بإنشاء قاموس للترجمة إسمه
                                            # '-' بالرمز 'a' عند الترجمة بواسطة هذا القاموس سيتم تبديل كل حرف
                                            # يتم إيجاده 'm' كما أنه سيتم حذف كل حرف
                                             
print(s)                                    # كما هو s هنا قمنا بطباعة النص الموجود في المتغير
print(s.translate(dictionary))              # s على المتغير dictionary بعد تطبيق الترجمة المخزنة في القاموس translate() هنا قمنا بطباعة ما سترجعه الدالة

النتيجة

harmash.com
h-r-sh.co

المثال الرابع

Test.py
s = 'harmash.com'                 # s هنا قمنا بتعريف متغير نصي إسمه

dictionary = str.maketrans({      # dictionary هنا قمنا بإنشاء قاموس للترجمة إسمه
    'h': 'XYZ',                   # 'XYZ' بالأحرف 'h' عند الترجمة بواسطة هذا القاموس سيتم تبديل كل حرف
    'a': '555',                   # '555' بالأحرف 'a' و سيتم تبديل كل حرف
    '.': ''                       # كما أنه سيتم حذف كل نقطة يتم إيجادها
})

print(s)                          # كما هو s هنا قمنا بطباعة النص الموجود في المتغير

print(s.translate(dictionary))    # s على المتغير table بعد تطبيق الترجمة المخزنة في القاموس translate() هنا قمنا بطباعة ما سترجعه الدالة

النتيجة

harmash.com
XYZ555rm555sXYZcom