المقدمة
تدعم لغة Python اقتران السلاسل باستخدام عامل +
. في معظم لغات البرمجة الأخرى، إذا قمنا بربط سلسلة مع عدد صحيح (أو أي نوع بيانات أساسي آخر)، تقوم اللغة بتحويلها إلى سلسلة ثم تقوم بالاقتران بها.
ومع ذلك، في Python، إذا حاولت أن تقوم بربط سلسلة مع عدد صحيح باستخدام عامل +
، ستحصل على خطأ في وقت التشغيل.
مثال
لنلقي نظرة على مثال لربط سلسلة (str
) وعدد صحيح (int
) باستخدام عامل +
.
current_year_message = 'Year is '
current_year = 2018
print(current_year_message + current_year)
الناتج المطلوب هو السلسلة: العام هو 2018
. ومع ذلك، عند تشغيل هذا الكود، نحصل على الخطأ التالي في وقت التشغيل:
Traceback (most recent call last):
File "/Users/sammy/Documents/github/journaldev/Python-3/basic_examples/strings/string_concat_int.py", line 5, in <module>
print(current_year_message + current_year)
TypeError: can only concatenate str (not "int") to str
إذا كيف يمكنك أن تقوم بربط str
و int
في Python؟ هناك طرق مختلفة أخرى لأداء هذه العملية.
المتطلبات الأساسية
لإكمال هذا البرنامج التعليمي، ستحتاج إلى:
- المعرفة بتثبيت Python 3 والمعرفة بالبرمجة في Python. كيفية البرمجة في سلسلة Python 3 أو استخدام VS Code لـ Python.
تم اختبار هذا البرنامج التعليمي باستخدام Python 3.9.6.
باستخدام الوظيفة str()
يمكننا تمرير عدد صحيح إلى وظيفة str()
وسيتم تحويله إلى سلسلة:
print(current_year_message + str(current_year))
يتم إرجاع العدد الصحيح current_year
كسلسلة: السنة هي 2018
.
باستخدام مشغل الإنتربوليشن %
يمكننا تمرير القيم إلى مواصفة التحويل باستخدام تنسيق السلسلة بنمط printf:
print("%s%s" % (current_year_message, current_year))
يتم تفسير العدد الصحيح current_year
إلى سلسلة: السنة هي 2018
.
استخدام وظيفة str.format()
يمكننا أيضًا استخدام وظيفة str.format()
لاتحاد السلسلة والعدد الصحيح.
print("{}{}".format(current_year_message, current_year))
يتم تحويل العدد الصحيح current_year
إلى سلسلة: السنة هي 2018
.
استخدام f-strings
إذا كنت تستخدم Python 3.6 أو الإصدارات الأحدث، يمكنك أيضًا استخدام f-strings.
print(f'{current_year_message}{current_year}')
يتم تفاعل العدد الصحيح current_year
إلى سلسلة: السنة هي 2018
.
الاستنتاج
يمكنك مراجعة البرنامج النصي الكامل لـ Python والمزيد من أمثلة Python في مستودعنا على GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-concatenate-string-and-int