مقدمة
هذا الدرس يتحدث عن تنسيق السلاسل النصية في لغة البرمجة Python، ويشرح كيفية إدراج العلامات التبويبية والأحرف الخاصة والقيم المتغيرة داخل السلاسل النصية. كما يشرح الدرس استخدام دالة format() والعلامات الفارغة وتنسيق f-strings في Python. يعتبر تنسيق السلاسل النصية في Python من المهارات الأساسية التي يجب على المبرمجين تعلمها حيث يستخدمونها في عرض البيانات والإخراجات المختلفة في تطبيقاتهم.
يشير تنسيق السلاسل في Python إلى عملية تحويل النصوص أو السلاسل إلى سلاسل جديدة بتنسيق محدد. ويستخدم تنسيق السلاسل في Python لإدخال متغيرات داخل النصوص أو السلاسل أو لعرض البيانات بطريقة معينة، مما يجعل النصوص أو السلاسل أكثر قابلية للاستخدام والوضوح.
تعتبر السلاسل النصية من الأشياء الأساسية في Python، ويمكن استخدام تنسيق السلاسل النصية لإظهار البيانات بشكل منظم وجميل وتحسين تنسيق الرسائل التي يتم إنشاؤها تلقائيًا. وتتوفر في Python طرق مختلفة لتنسيق السلاسل النصية، بما في ذلك:
يمكن استخدام تنسيق السلاسل النصية في Python لعدة أغراض، بما في ذلك عرض البيانات بشكل منظم وجميل وإنشاء رسائل تلقائية. ومن خلال استخدام تنسيق السلاسل النصية، يمكن للمستخدمين تحسين تنسيق البيانات المطبوعة وجعلها أكثر وضوحًا وإيضاحًا.
يتم تنفيذ تنسيق السلاسل في Python باستخدام علامات تعريف خاصة تسمى “مكانها”، والتي تشير إلى المواضع التي يجب استبدالها بالمتغيرات المحددة. على سبيل المثال، يمكن استخدام التعبير التالي لتنسيق النص:
مثال :
name = 'Ahmed' age = 25 print('My name is {} and I am {} years old.'.format(name, age))
استبدال الأقواس المنحنية الفارغة {} بالمتغيرات name و age المحددة، مما يؤدي إلى طباعة النص التالي:
مثال
My name is Ahmed and I am 25 years old.
يتم استخدام تقنية تنسيق السلاسل في Python في العديد من التطبيقات المختلفة، بما في ذلك إنشاء رسائل البريد الإلكتروني وصفحات الويب وتحليل البيانات والتلاعب بها وغيرها الكثير.
يمكن تنسيق السلاسل في Python باستخدام العديد من الطرق، بما في ذلك:
لاستبدال قيم معينة داخل السلسلة بالقيم المحددة. على سبيل المثال، يمكن استخدام الطريقة الكلاسيكية لتنسيق النص كالتالي:
name = 'Ahmed' age = 25 print('My name is %s and I am %d years old.' % (name, age))
النتيجة:
My name is Ahmed and I am 25 years old.
يتم استخدام تعبيرات f-string باستخدام العلامة f قبل السلسلة، وذلك لاستبدال المتغيرات المحددة داخل السلسلة. على سبيل المثال، يمكن استخدام الطريقة الجديدة لتنسيق النص كالتالي:
name = 'Ahmed' age = 25 print(f'My name is {name} and I am {age} years old.')
النتيجة:
My name is Ahmed and I am 25 years old.
اليك بعض الأمثلة الإضافية لتنسيق السلاسل في Python باستخدام الطرق التي ذكرتها:
مثال:
# تنسيق النص لإظهار نسبة معينة percent = 75.50 print('The percentage is: %.2f%%' % percent) # تنسيق النص لإظهار الأعداد الثنائية والثمانية والسداسية عشر num = 10 print('The binary representation of {} is {:b}'.format(num, num)) print('The octal representation of {} is {:o}'.format(num, num)) print('The hexadecimal representation of {} is {:x}'.format(num, num))
النتيجة:
The percentage is: 75.50% The binary representation of 10 is 1010 The octal representation of 10 is 12 The hexadecimal representation of 10 is a
# تنسيق النص لإظهار تاريخ year = 2023 month = 'March' day = 28 print('Today is {2} {1}, {0}.'.format(year, month, day)) # تنسيق النص لإظهار الأرقام بتنسيق المال price = 9.99 print('The price is ${:,.2f}'.format(price))
النتيجة:
Today is 28 March, 2023. The price is $9.99
# تنسيق النص لإظهار النتيجة بتنسيق معين result = 25.7543 print(f'The result is: {result:.2f}') # تنسيق النص لإظهار اسم المستخدم وكلمة المرور username = 'Omar_Abobbakr' password = 'my_password' print(f'Username: {username}\nPassword: {password}')
النتيجة :
The result is: 25.75 Username: Omar_Abobbakr Password: my_password
على سبيل المثال، إذا كنت تعمل على برنامج يقوم بحساب الرواتب، يمكنك تنسيق سلاسل النصية المخرجة بحيث تعرض الرواتب بتنسيق جيد. هذا يمكّن المستخدمين من تحليل النتائج بشكل أفضل وتجنب الأخطاء.
هنا بعض الأمثلة لتوضيح أهمية تنسيق السلاسل النصية:
# رسالة خطأ تعرض سبب الخطأ print("Error: can't divide by zero") # رسالة تحذير تعرض تحذير مهم print("Warning: the file will be overwritten!")
النتيجة :
Error: can't divide by zero Warning: the file will be overwritten!
# عرض النتائج بتنسيق مناسب num1 = 10 num2 = 20 result = num1 + num2 print(f"The sum of {num1} and {num2} is {result}") # عرض النتائج بتنسيق المال price = 9.99 tax = 1.5 total = price + tax print(f"The price is ${price:.2f}, the tax is ${tax:.2f}, and the total is ${total:.2f}")
انظر كيف تبدو النتيجة منسقة باحترافية :
The sum of 10 and 20 is 30 The price is $9.99, the tax is $1.50, and the total is $11.49
مثال:
# طلب إدخال اسم المستخدم username = input("Please enter your username: ") print(f"Welcome {username}!") # طلب إدخال تاريخ date_str = input("Please enter the date (MM/DD/YYYY): ") print(f"The date you entered is: {date_str}")
تنفيذ الكود على Python IDE 3.9
يمكن استخدام تنسيق السلاسل النصية لعرض المعلومات بشكل منظم وجميل. على سبيل المثال، يمكن استخدام تنسيق السلاسل النصية لعرض معلومات حول الأشخاص، مثل اسمهم وعمرهم وعنوانهم البريدي ورقم هاتفهم، كما في المثال التالي:
name = "GOGO Rabei" age = 30 address = "52 Saied St, Cairo, EGYPT" phone = "555-555-1212" info = f"Name: {name}\nAge: {age}\nAddress: {address}\nPhone: {phone}" print(info)
النتيجة منسقة كما ينبغي :
Name: GOGO Rabei Age: 30 Address: 52 Saied St, Cairo, EGYPT Phone: 555-555-1212
# توليد رسالة ترحيب بالمستخدم الجديد username = "Omar" message = f"Welcome to our website, {username}! We hope you enjoy your experience." # توليد رسالة تذكير بالموعد النهائي لتقديم المهمة due_date = "March 31, 2023" task_name = "Complete Project Proposal" message = f"Reminder: {task_name} is due on {due_date}. Please make sure to submit it before the deadline." print(message)
النتيجة:
المراجع والمصادر :String Formatting