تنسيق النصوص فى بايثون | Python String Formatting
سنناقش فى هذا الفصل تنسيق النصوص فى بايثون | Python String Formatting، ستتعرف على تنسيق النصوص وكيفية استخدامه، مع بعض الأمثلة التوضيحية.
تنسيق النصوص فى بايثون | Python String Formatting
للتأكد من عرض الـ string كما هو متوقع، يمكننا تنسيق النتيجة باستخدام عدة طرق:
- “Old Style” بإستخدام operator الـ %.
- “New Style” بإستخدام method الـ ()format.
- String Interpolation بإستخدام f–Strings.
1. Old Style” String Formatting”
تحتوي الـ strings في Python على عملية built-in فريدة يمكن الوصول إليها باستخدام عامل %.
يتيح لك هذا الإجراء تنسيق موضعي بسيط بسهولة بالغة.
مثال بسيط للتوضيح:
name = "Hamed" print('Hello, %s' % name) output = "Hello, Hamed"
إستخدم محدد تنسيق s% هنا لإخبار Python بمكان استبدال قيمة الاسم ، الممثلة كـ string.
يتغير بناء جملة تنسيق السلسلة “old style” قليلاً إذا كنت تريد إجراء استبدالات متعددة في string واحدة. نظرًا لأن عامل % يأخذ argument واحدة فقط. كالتالى:
name = "Hamed" gender = "male" print('Hello, %s & your gender is %s' % (name, gender)) output = "Hello, Hamed & your gender is male"
2. New Style” String Formatting”
قدم الإصدار 3 من python طريقة جديدة للقيام بتنسيق الـ strings. تتم معالجة التنسيق الآن عن طريق method الـ ()format على كائن string.
يمكنك استخدام الـ ()format للقيام بتنسيق موضعي بسيط ، تمامًا كما تفعل مع تنسيق “old style”:
name = "Hamed" msg = "Hello {} in our website!" print(msg.format(name)) # output = "Hello Hamed in our website!"
يمكنك إضافة parameters داخل الأقواس المتعرجة لتحديد كيفية تحويل القيمة:
age = 20 msg = "Your age is {:d}" # {:d} for Decimal format print(msg.format(age)) # output = "Your age is 20"
إذا كنت تريد استخدام المزيد من القيم ، فما عليك سوى إضافة المزيد من القيم إلى method الـ ()format:
name = "Mohamed" age = 20 msg = "Your name is {} & your age is {}" print(msg.format(name, age)) # output = "Your name is Mohamed & your age is 20"
يمكنك استخدام أرقام الـ index (رقم داخل الأقواس المتعرجة {0}) للتأكد من وضع القيم في العناصر النائبة الصحيحة:
name = "Mohamed" # index 0 age = 20 # index 1 mail = "mohamed@gmail.com" # index 3 msg = "Your name is {0} & your mail is {2} & your age is {1}" print(msg.format(name, age, mail)) # output = "Your name is Mohamed & your mail is mohamed@gmail.com & your age is 20"
يمكنك أيضًا استخدام الـ indexes المسماة عن طريق إدخال اسم داخل الأقواس المتعرجة {username} ، ولكن يجب عليك بعد ذلك استخدام الأسماء عند تمرير قيم الـ parameters، كالتالى:
name = "Mohamed" mail = "mohamed@gmail.com" userinfo = "Your name is {name} & your mail is {mail}" print(userinfo.format(name = "mohamed", mail = "mohamed@gmail.com")) # output = "Your name is Mohamed & your mail is mohamed@gmail.com"
3. String Interpolation | f-Strings
أضاف الإصدار Python 3.6 منهجًا جديدًا لتنسيق الـ string يسمى formatted string literals (حرفية السلسلة المنسقة) أو “f-string“.
تتيح لك هذه الطريقة الجديدة لتنسيق الـ strings استخدام تعبيرات Python الـ built-in داخل ثوابت الـ string.
مثال للتوضيح:
name = "Mohamed" print(f"Your name is {name}") # output = "Your name is Mohamed"
فى المثال السابق، فإن يسبق الـ string حرف “f” ، ثم يأتى الـ strings ومن هنا يأتي اسم “f-strings“.
يمكنك القيام بعملية حسابية مضمنة معها، كالتالى:
num1 = 3 num2 = 4 print(f"Total three & four is {num1 + num2}") # output = Total three & four is 7
الإبلاغ عن خطأ
×إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:
info@albashmoparmeg.com
شكرًا لك على مساعدتك لنا!