افترض أنك تريد إخراج اسم شخص ومهنته. يمكنك كتابة برنامج بسيط كما يلي.
# تعريف المتغيرات name = 'Mark' profession = 'Astronaut' age = 7 # إخراج المعلومات output_string = ('My name is ' + name + ', I am ' + str(age) + ' years old ' + 'and my profession is ' + profession + '.') print(output_string)
My name is Mark, I am 7 years old and my profession is Astronaut.
تفتقر هذه الطريقة إلى الاختصار والوضوح. لحسن الحظ، يوفر إدخال السلاسل النصية حلاً أفضل. يسمح بإدراج المتغيرات أو التعبيرات أو نواتج الدوال مباشرة في سلسلة نصية، مما يجعل معالجة السلاسل النصية ديناميكية ويقضي على الحاجة للتجميع اليدوي.
باستخدام نهج إدخال السلاسل النصية، يمكننا إعادة كتابة الكود كما يلي.
# تعريف المتغيرات name = 'Mark' profession = 'Astronaut' age = 7 # إخراج المعلومات output_string = f'My name is {name}, I am {age} years old and my profession is {profession}.' print(output_string)
My name is Mark, I am 7 years old and my profession is Astronaut.
تسمح النسخة التي تستخدم إدخال السلاسل النصية بإدراج التعبيرات مباشرة داخل السلسلة دون استخدام التجميعات الفوضوية. كما ترى، إنها طريقة أنظف بكثير.
إدخال السلاسل النصية الأساسية في بايثون
هناك العديد من تقنيات إدخال السلاسل النصية المختلفة المتاحة في بايثون. الطريقة الأكثر شيوعًا الموصى بها هي الأدبيات النصية المنسقة، المعروفة أيضًا باسم السلاسل النصية من النوع f، والتي كانت متاحة منذ بايثون 3.6.
طريقة أخرى، تُرى غالبًا في الكود الأقدم من Python 3.6، هي طريقة .format()
. على الرغم من أن هذه الطريقة أكثر تفصيلًا من f-strings، إلا أنها أحيانًا تحتوي على مزايا (التفاصيل أدناه).
أخيرًا، قد تواجه تنسيق %
-أسلوب في الكود القديم.
استخدام f-strings (Python 3.6+)
f-strings (سلاسل نصية مُنسقة) هي وسيلة قوية وموجزة لتنسيق السلاسل النصية في بايثون. تم تقديمها في Python 3.6 وتوفر وسيلة قابلة للقراءة وفعالة لإدراج المتغيرات، والتعابير، واستدعاءات الدوال مباشرة في السلاسل النصية.
مثال بسيط على البنية الأساسية لسلسلة f هو كما يلي.
name = 'Mark' output_string = f'My name is {name}.' print(output_string)
My name is Mark.
في هذا الكود، يتم تعيين المتغير output_string
كسلسلة f. f
البادئة قبل الاقتباس الافتتاحي تشير إلى أن السلسلة تدعم التعبيرات المدمجة. يتم تقييم المتغير name
وإدخال قيمته في السلسلة، مما يؤدي إلى الناتج: "اسمي مارك."
ليس فقط قيم المتغيرات، ولكن أيضًا العمليات الحسابية أو التعبيرات يمكن إدخالها في سلاسل f. اعتبر هذا المثال.
import math a = 3.0 b = 4.0 # استخدم خلط السلاسل للمعادلة print(f'The hypotenuse of a triangle with base {a} and side {b} is {math.sqrt(a ** 2 + b ** 2)}.')
The hypotenuse of a triangle with base 3.0 and side 4.0 is 5.0.
العبارة math.sqrt(a ** 2 + b ** 2)
يتم تقييمها مباشرة داخل السلسلة، مما يلغي الحاجة إلى حساب القيمة بشكل منفصل قبل إدراجها في السلسلة.
باستخدام طريقة .format()
مثل f-strings، فإن .format()
تتيح إدراج المتغيرات والتعبيرات في سلسلة نصية. التركيب الأساسي لطريقة .format()
هو كما يلي.
name = 'Mark' output_string = 'My name is {}.'.format(name) print(output_string)
My name is Mark.
تعمل الأقواس الزاوية {}
كحامل، مشيرة إلى أن قيمة المتغير ستُدرج في النص في تلك الموقع. يتم تحديد قيمة المتغير المعينة التي تُدرج في الحامل بواسطة الوسيط المقدم لطريقة .format()
.
الوسائط الوضعية
name = 'Mark' age = 7 # يتم ملء الحامل في ترتيب الوسائط output_string = 'My name is {} and I am {} years old.'.format(name, age) print(output_string)
My name is Mark and I am 7 years old.
في هذا المثال، يتطلب وجود متغيرين، name
و age
. وبناءً عليه، تحتوي السلسلة على اثنين من الحاويات، ويتم إدراج المتغيرات بنفس الترتيب الذي يظهران فيه في .format()
الطريقة. وتُعرف هذه الوسائط بأنها موضعية لأن وضعها في السلسلة يتم تحديده بواسطة موضعها في قائمة وسائط الطريقة.
الحاويات مُفهرسة وبأسماء
كتغيير على فكرة الحاويات، تعتبر هذا المثال.
name = 'Mark' age = 7 # طباعة العمر مرتين output_string = 'My name is {} and I am {} years old. My twin brother is also {} years old.'.format(name, age, age) print(output_string)
My name is Mark and I am 7 years old. My twin brother is also 7 years old.
هنا، قمنا بإعادة استخدام قيمة المتغير age
مرتين. تتسبب إدراج نفس المتغير مرارًا وتكرارًا مثل هذا في السخونة وتنقص من قابلية القراءة. هل هناك طريقة لإعادة استخدام متغير في سلسلة مُنسَقة باستخدام طريقة .format()
دون تكراره؟ نعم، هناك، باستخدام ما يُسمى بالمكانات ذات الفهرس..
name = 'Mark' age = 7 # استخدام مكانات ذات فهرس output_string = 'My name is {0} and I am {1} years old. My twin brother is also {1} years old.'.format(name, age) print(output_string)
My name is Mark and I am 7 years old. My twin brother is also 7 years old.
في هذا المثال، قمنا بتعريف ترتيب المتغيرات ضمن الأقواس المجعدة بشكل صريح، اتباعًا للفهرسة التي تعتمد على الصفر في لغة Python. بالإضافة إلى ذلك، قمنا بإعادة استخدام المتغير في الفهرس 1 بدلاً من تكراره.
كبديل للفهرسة الوضعية، يمكنك أيضًا استخدام الوسائط المسماة، حيث يتم تعيين اسم لكل وسيط.
print('My name is {name} and I am {age} years old.'.format(name='Mark', age=7))
My name is Mark and I am 7 years old.
يتم تقييم الوسيطة المسماة داخل الأقواس المنحنية التي تحدد اسمها. ونتيجة لذلك، يتم استبدال العلامة التجارية {name}
بالقيمة "Mark"
، والعلامة التجارية {age}
بالقيمة 30
.
باستخدام عامل النسبة %
الطريقة النهائية لتضمين السلاسل هي %
المشغل. يعمل بشكل مماثل لأمر printf()
في C. تمت إهمال استخدامه وتحذير بشدة لصالح f-strings أو .format()
الطريقة. يتم ذكره هنا لأنه قد تواجهه في قواعد البيانات القديمة.
التنسيق الأساسي لمشغل%
هو: "سلسلة التنسيق" % القيم
. تحتوي سلسلة التنسيق على عناصر بديلة، مثل %s
للسلاسل، التي تُستبدل بالقيم. على سبيل المثال، يُطبع المثال التالي “مرحبًا، مارك”.
'Hello %s' % 'Mark'
'Hello Mark'
وتُظهر الجدول التالي بعض المواصفات الشائعة للتنسيق.
المواصفة |
المعنى |
المثال |
---|---|---|
%s |
سلسلة |
“مرحبًا %s” % “آليس” → “مرحبًا آليس” |
%d |
عدد صحيح (عشري) |
“العمر: %d” % 25 → “العمر: 25” |
%f |
عدد عشري (افتراضي 6 أرقام عشرية) |
“باي: %f” % 3.14159 → “باي: 3.141590” |
%.nf |
عدد عشري (n أرقام عشرية) |
“%.2f” % 3.14159 → “3.14” |
%x |
عدد سداسي عشري (حروف صغيرة) |
“%x” % 255 → “ff” |
%X |
عدد سداسي عشري (حروف كبيرة) |
“%X” % 255 → “FF” |
%o |
عدد ثماني |
“%o” % 255 → “377” |
مشغل النسبة المئوية (%) لديه العديد من القيود. من ناحية، فإنه أقل قابلية للقراءة مقارنة بسلاسل f. دعنا نأخذ بعين الاعتبار الكود التالي.
name = "Alice" age = 30 height = 5.6 # مشغل النسبة المئوية من الصعب مسحه message = "My name is %s, I am %d years old, and my height is %.1f feet." % (name, age, height) print(message)
My name is Alice, I am 30 years old, and my height is 5.6 feet.
هل هذا الكود واضح من الوهلة الأولى؟ ربما لا. هناك الكثير من التحليل البصري ذهابًا وإيابًا من المكان المخصص والمتغيرات التي تملأ الفراغات. من السهل أن تلتبس (أو تشعر بالدوار) مع كل هذا المسح ذهابًا وإيابًا.
الآن، دعنا ننظر إلى كود مكافئ يستخدم سلاسل f.
# هذا أنظف بكثير message = f"My name is {name}, I am {age} years old, and my height is {height:.1f} feet." print(message)
My name is Alice, I am 30 years old, and my height is 5.6 feet.
لا حاجة للمسح ولا حاجة لسلاسل تنسيق غامضة. الكود نظيف، سهل الفهم، وسهل الكتابة. يمكنك تعلم نصائح أخرى لكتابة كود واضح ومحسن من خلال مسار مهارات برمجة بايثون في DataCamp ython Programming skill track.
تقنيات متقدمة في تداخل سلاسل بايثون
الآن بعد أن فهمنا أساسيات تداخل سلاسل بايثون، دعنا نلقي نظرة على بعض الاستخدامات الأكثر تقدمًا.
تداخل سلاسل بايثون متعددة الأسطر
يمكن أيضًا استخدام سلاسل f للمحتوى متعدد الأسطر باستخدام العلامة f مع علامات اقتباس ثلاثية (سواء كانت مفردة أو مزدوجة). يمكن كتابة النص عبر عدة أسطر، وسيظهر في الإخراج تمامًا كما هو منسق.
name = 'Mark' profession = 'Astronaut' age = 7 # هذا مثال على سلسلة متعددة الأسطر bio = f""" Name: {name} Profession: {profession} Age: {age} """ print(bio)
Name: Mark Profession: Astronaut Age: 7
يمكن أيضًا إنشاء سلاسل نصية متعددة الأسطر باستخدام الطريقة .format()
.
name = 'Mark' profession = 'Astronaut' age = 7 # هذه سلسلة نصية متعددة الأسطر باستخدام .format() bio = """ Name: {} Profession: {} Age: {} """.format(name, profession, age) print(bio)
Name: Mark Profession: Astronaut Age: 7
حالات استخدام تفاعل سلسلة نصية متعددة الأسطر
لماذا ترغب في استخدام تفاعل سلسلة نصية متعددة الأسطر؟ هناك العديد من حالات استخدام تفاعل سلسلة نصية متعددة الأسطر. هنا بعض الحالات الاستخدامية:
- إنشاء رسائل بريد إلكتروني أو رسائل متعددة الأسطر
- تسجيل وتصحيح الأخطاء
- إنشاء استعلامات SQL ديناميكيًا
إنشاء رسائل بريد إلكتروني أو رسائل متعددة الأسطر
لنفترض أنك ترسل رسالة نموذجية إلى العديد من المدعوين لمؤتمر تقني.
name = "Alice" event = "Annual Tech Conference" date = "March 15, 2025" email = """Dear {name}, We are pleased to invite you to the {event} taking place on {date}. We hope you can join us for an exciting experience. Best regards, The Event Team""".format(name=name, event=event, date=date) print(email)
Dear Alice, We are pleased to invite you to the Annual Tech Conference taking place on March 15, 2025. We hope you can join us for an exciting experience. Best regards, The Event Team
باستخدام f-strings، إنشاء رسالة نموذجية بسيط وفعال. لتغيير الاسم، الحدث أو التاريخ، ما عليك سوى تغييرها في المتغيرات والسلسلة ستتغير تلقائيًا.
تسجيل وتصحيح الأخطاء
السلاسل النصية متعددة الأسطر مفيدة لطباعة رسائل الأخطاء في السجلات.
error_code = 404 url = '/missing-page' timestamp = '2025-02-05 12:30:00' error_message = 'The requested page could not be found.' log_message = f"""[ERROR {error_code}] Time: {timestamp} URL: {url} {error_message}""" print(log_message)
[ERROR 404] Time: 2025-02-05 12:30:00 URL: /missing-page The requested page could not be found.
تحافظ هذه الطريقة على هيكلة رسائل السجلات وتجعل عملية تصحيح الأخطاء أسهل مع سجلات مهيئة بشكل صحيح.
إنشاء استعلامات SQL ديناميكيًا
يمكن بناء استعلامات SQL ديناميكيًا باستخدام سلاسل نصية متعددة الأسطر.
table = 'users' column = 'email' value = '[email protected]' query = f"""SELECT * FROM {table} WHERE {column} = '{value}';""" print(query)
SELECT * FROM users WHERE email = '[email protected]';
تجعل هذه الطريقة استعلامات SQL قابلة للقراءة وتحافظ على التباعد. علاوة على ذلك، فإنها تلغي الحاجة لاستخدام +
لدمج السلاسل النصية.
تشمل حالات الاستخدام الأخرى:
- كتابة العقود المنسقة
- إنشاء مستندات Markdown أو $\LaTeX$
- قوالب HTML/XML متعددة الأسطر
- توليد استجابات API أو نصوص شبيهة بـ JSON
مزايا إدراج السلاسل متعددة الأسطر
كما نرى، هناك العديد من المزايا لإدراج السلاسل متعددة الأسطر.
- يحافظ إدراج السلاسل على التنسيق دون الحاجة إلى حرف الهروب
\n
. - يُحسن إدراج السلاسل من قابلية القراءة مقارنة بالتنسيق أحادي السطر.
- يقلل إدراج السلاسل من الفوضى عند العمل مع النص المهيكل (مثل: السجلات، الاستعلامات، التقارير).
- تسمح تضمين السلاسل بإنشاء نصوص ديناميكية دون كسر التبويب.
تنسيق الأرقام والقيم الخاصة
للتحكم في عدد الأماكن العشرية المعروضة باستخدام سلسلة f، استخدم الصيغة: f'{value:.nf}'
, حيث value
هو الرقم عائم المكان, n
هو عدد الأماكن العشرية, و f
(الذي يأتي بعد .
) يعني تنسيق العدد عائم.
للتوضيح، الكود التالي ينتج $\pi$ لعدد مختلف من المنازل العشرية.
pi = 3.1415926535 print(f'Pi rounded to 2 decimal places: {pi:.2f}') print(f'Pi rounded to 4 decimal places: {pi:.4f}') print(f'Pi rounded to 0 decimal places: {pi:.0f}')
Pi rounded to 2 decimal places: 3.14 Pi rounded to 4 decimal places: 3.1416 Pi rounded to 0 decimal places: 3
التنسيق باستخدام طريقة .format()
مشابه.
print('Pi rounded to 2 decimal places: {:.2f}'.format(pi)) print('Pi rounded to 4 decimal places: {:.4f}'.format(pi)) print('Pi rounded to 0 decimal places: {:.0f}'.format(pi))
Pi rounded to 2 decimal places: 3.14 Pi rounded to 4 decimal places: 3.1416 Pi rounded to 0 decimal places: 3
يمكنك استخدام سلسلة f لتنسيق النسب المئوية باستخدام بناء الجملة :.nf
مع %
، حيث n
هو عدد المنازل العشرية.
score = 0.875 print(f"Success rate: {score:.2%}")
Success rate: 87.50%
يمكنك استخدام سلسلة f لتنسيق العملة عن طريق استخدام :،
لفصل الآلاف و .nf
للتحكم في الأماكن العشرية. يمكنك أيضًا تضمين رمز العملة مثل $ أو € أو £ مباشرة في السلسلة.
amount = 98765.4321 print(f"USD: ${amount:,.2f}") print(f"EUR: €{amount:,.2f}") print(f"GBP: £{amount:,.2f}")
USD: $98,765.43 EUR: €98,765.43 GBP: £98,765.43
استخدام سلاسل f مع القواميس والقوائم
لاستخدام سلاسل f مع قاموس في Python، يمكنك الوصول إلى قيم القاموس داخل الأقواس المنحنية باستخدام علامة الأقواس المربعة (dict[‘key’]) أو عن طريق فك تحليل القاموس بـ **.
person = { 'name': 'Alice', 'age': 30, 'city': 'New York' } print(f"My name is {person['name']}, I am {person['age']} years old, and I live in {person['city']}.")
My name is Alice, I am 30 years old, and I live in New York.
بدلاً من الوصول إلى كل مفتاح يدويًا، يمكنك فك تحليل القاموس في سلسلة f كما يلي.
person = { 'name': 'Alice', 'age': 30, } print(f'My name is {name} and I am {age} years old.'.format(**person))
My name is Alice and I am 7 years old.
لتجنب حدوث خطأ في حالة عدم وجود المفاتيح، استخدم get()
للوصول إلى القاموس.
person = {"name": "Alice"} # خطأ: المفتاح 'city' مفقود print(f"City: {person['city']}")
--------------------------------------------------------------------------- KeyError Traceback (most recent call last) Cell In[87], line 4 1 person = {"name": "Alice"} 3 # خطأ: المفتاح 'city' مفقود ----> 4 print(f"City: {person['city']}") KeyError: 'city'
print(f"City: {person.get('city', 'Not specified')}")
City: Not specified
مزايا وعيوب طرق تضمين السلاسل
كما رأينا، تعتبر f-strings وطريقة .format()
من الطرق المفيدة للتداخل النصي. دعونا ننظر إلى مقارنة بين مزايا وعيوب كل طريقة.
الميزة |
f-strings |
.format() |
% التنسيق |
---|---|---|---|
سهولة القراءة |
🟢 الأفضل |
🟡 جيد |
🔴 أصعب |
الأداء |
🟢 الأسرع |
🟡 أبطأ |
🔴 الأبطأ |
يدعم التعبيرات |
🟢 نعم |
🟡 غير مباشر |
🔴 لا |
دعم متعدد الأسطر |
🟢 نعم |
🟢 نعم |
🔴 لا |
سهولة الاستخدام |
🟢 الأسهل |
🟡 متوسط |
🔴 صعب |
تصحيح الأخطاء (= المشغل) |
🟢 نعم (بايثون 3.8+) |
🔴 لا |
🔴 لا |
متى يجب عليك استخدام .format()
بدلاً من f-strings؟
الميزة |
لماذا تستخدم .format() |
---|---|
دعم بايثون القديم |
يعمل في بايثون 2.7+ |
ترتيب مرن |
يسمح بإعادة ترتيب العناصر بسهولة |
تنسيق ديناميكي |
يعمل عندما يكون محدد التنسيق ديناميكياً |
يتعامل مع الأقواس {} بشكل أفضل |
يتجنب الهروب اليدوي الزائد |
يعمل بشكل جيد مع القواميس |
أسهل في استخدام مفاتيح القواميس |
الفخاخ الشائعة وأفضل الممارسات
بالأسفل، يمكنك العثور على بعض طرق استكشاف الأخطاء ونصائح هامة لاستخدام استبدال السلاسل في بايثون.
تجنب أخطاء الصياغة باستخدام الأقواس المتعرجة
هناك العديد من أخطاء الصياغة التي يمكن أن تحدث عند استخدام إدخال السلاسل النصية مع الأقواس المتعرجة.
- تأكد من أن كل { لها } مطابقة
print('Hello, my name is {name!'}
Cell In[96], line 1 print('Hello, my name is {name!'} ^ SyntaxError: closing parenthesis '}' does not match opening parenthesis '('
لحسن الحظ، الخطأ سهل الفهم، والإصلاح سهل.
- استخدم {{ و }} لعرض {} الحرفية
ماذا يحدث إذا كنت تريد طباعة الأقواس المتعرجة داخل سلسلة مضمنة؟ أي شيء داخل الأقواس المتعرجة سيُحاول تقييمه.
print(f'Set notation: {a, b, c}')
--------------------------------------------------------------------------- NameError Traceback (most recent call last) Cell In[101], line 1 ----> 1 print(f'Set notation: {a, b, c}') NameError: name 'c' is not defined
تفسر بايثون a و b و c داخل الأقواس المتعرجة على أنها مجموعة، محاولةً العثور على قيمة مرتبطة بـ a. نظرًا لعدم وجود مثل هذه المتغير، يتم رفع خطأ KeyError. الإصلاح هو استخدام أقواس مزدوجة {{}}
.
print("Set notation: {{a, b, c}}")
تدوين المجموعات: {{a, b, c}}
مقارنة الأداء: f-strings مقابل .format()
دعنا نقارن أداء f-strings و .format()
.
import timeit name = "Alice" age = 30 pi = 3.1415926535 # قياس أداء f-string f_string_time = timeit.timeit('f"My name is {name} and I am {age} years old."', globals=globals(), number=1000000) # قياس أداء .format() format_time = timeit.timeit('"My name is {} and I am {} years old.".format(name, age)', globals=globals(), number=1000000) # قياس أداء f-string مع التعابير f_string_expr_time = timeit.timeit('f"Pi rounded to 2 decimal places: {pi:.2f}"', globals=globals(), number=1000000) # قياس أداء .format() مع التعابير format_expr_time = timeit.timeit('"Pi rounded to 2 decimal places: {:.2f}".format(pi)', globals=globals(), number=1000000) # طباعة النتائج print(f"f-string (simple): {f_string_time:.6f} seconds") print(f".format() (simple): {format_time:.6f} seconds") print(f"f-string (with expression): {f_string_expr_time:.6f} seconds") print(f".format() (with expression): {format_expr_time:.6f} seconds")
f-string (simple): 0.080447 seconds .format() (simple): 0.129860 seconds f-string (with expression): 0.123171 seconds .format() (with expression): 0.146242 seconds
كما يمكن ملاحظة، من وجهة نظر الكفاءة، يجب على الشخص تفضيل f-strings على .format()
.
أفضل الممارسات لتنسيق السلاسل بشكل نظيف وقابل للقراءة
لضمان أن تكون عملية تنسيق السلسلة واضحة وفعالة وقابلة للصيانة، اتبع هذه الممارسات الجيدة عند استخدام السلاسل المتضمنة.
- تفضل f-strings للقراءة (بايثون 3.6+)
# الموصى به name = "Alice" age = 30 print(f"My name is {name} and I am {age} years old.") # غير موصى به (أقل قراءة) print("My name is {} and I am {} years old.".format(name, age)) # تجنب استخدام تنسيق % (مهمل) print("My name is %s and I am %d years old." % (name, age))
My name is Alice and I am 30 years old. My name is Alice and I am 30 years old. My name is Alice and I am 30 years old.
- استخدام أماكن الحجز المسماة للوضوح
# التعويضات المسماة (سهلة القراءة) user = {"name": "Alice", "age": 30} print(f"My name is {user['name']} and I am {user['age']} years old.") # استخدام المؤشرات في .format() (ليست سهلة القراءة) print("My name is {0} and I am {1} years old.".format("Alice", 30))
My name is Alice and I am 30 years old. My name is Alice and I am 30 years old.
- حافظ على قراءة السلاسل متعددة الأسطر.
name = "Alice" age = 30 message = f"""Hello, {name}! We are happy to invite you to our event. At {age} years old, you are eligible for the VIP pass. Best regards, Event Team """ print(message)
Hello, Alice! We are happy to invite you to our event. At 30 years old, you are eligible for the VIP pass. Best regards, Event Team
- استخدم سلاسل f في تسجيل الأخطاء لتحسين عملية تصحيح الأخطاء
تدعم Python 3.8 والإصدارات اللاحقة =
لأغراض تصحيح الأخطاء في سلاسل f.
value = 42 # Output: value = 42 print(f"{value = }")
value = 42
الاستنتاج
تعتبر تعويض السلاسل ميزة قوية في Python تجعل تنسيق السلاسل أكثر نظافة وسهولة قراءة وكفاءة. بين الأساليب المتاحة، تعد سلاسل f الأكثر حداثة والأقترح عليها، مما يوفر أداءً أفضل ووضوحًا ومرونة أكثر من الأساليب القديمة مثل .format()
و %
التنسيق.
من خلال اتباع أفضل الممارسات، مثل استخدام عناصر النائب المسماة، والتحكم في دقة الأرقام العشرية، ومحاذاة النصوص لسهولة القراءة، والتعامل مع مفاتيح القاموس المفقودة بشكل سلس، يمكنك كتابة تنسيق سلس، احترافي، وقابل للصيانة في بايثون.
سواء كنت تقوم بإنشاء تقارير منسقة، أو رسائل متعددة الأسطر، أو مخرجات بيانات منظمة، فإن سلسلة f توفر طريقة بسيطة ولكن قوية لدمج المتغيرات والتعابير بسلاسة. ستؤدي الاستفادة من سلسلة f إلى تحسين جودة الشيفرة الخاصة بك وأيضًا تعزيز كفاءتها.
لمزيد من المعلومات حول إدماج السلاسل في بايثون، تحقق من موارد DataCamp:
- تنسيق f-string في بايثون دليل
- إضافة سلسلة في بايثون: 6 تقنيات أساسية للتجميع
- برمجة Python مسار المهارات
- أساسيات Python مسار المهارات
- مقدمة في علم البيانات باستخدام بايثون دورة
Source:
https://www.datacamp.com/tutorial/python-string-interpolation