الانتقال إلى المحتوى الرئيسي
الوحدة 1 · الدرس 4 من 44/36 في الدورة~8 min
دروس الوحدة (4/4)

الطباعة والسلاسل f

لتوصيل شيء ما إلى المستخدم (أو لمعرفة ما يحدث في الداخل برنامجنا) نستخدم وظيفة print(...) المضمنة. لتأليف نص من قيم متعددة، وبناء الجملة الحديث والمفضل هو ** سلسلة و **.

محمي_INLINE_8

Python
print("Ciao, mondo!")           # Ciao, mondo!
print("a", "b", "c")            # a b c       (separati da spazio)
print(2 + 2)                    # 4
print("riga 1", "riga 2")       # riga 1 riga 2

يمكن لـ print أن يأخذ أي عدد تريده من الوسائط: فهو يجمعها بمسافة (بواسطة الافتراضي) ويضيف سطرًا جديدًا في النهاية. يمكنك تغيير كليهما باستخدام معلمات sep وend:

Python
print("a", "b", "c", sep="-")   # a-b-c
print("senza newline", end="")  # niente \n dopo

سلسلة f: الاستيفاء الحديث

f-string عبارة عن سلسلة مسبوقة بـ f: داخل الأقواس المعقوفة {...} يمكنك إدراج أي تعبير بايثون، والذي سيتم تقييمه وإدراجه في ملف النتيجة:

Python
nome = "Ada"
anni = 30
print(f"Mi chiamo {nome} e ho {anni} anni.")
# Mi chiamo Ada e ho 30 anni.

داخل الأقواس يمكنك إجراء المكالمات والعمليات والوصول إلى الكائنات - إنه كذلك كود بايثون من جميع النواحي:

Python
prezzo = 12.5
quantita = 3
print(f"Totale: {prezzo * quantita:.2f} €")
# Totale: 37.50 €

:.2f بعد النقطتين هو مواصفات التنسيق: في هذه الحالة "رقمان عشريان أرقام، نقطة ثابتة". مواصفات التنسيق الأكثر فائدة:

  • :.Nf — عدد N من الأرقام العشرية (f"{pi:.4f}" → 3.1416).
  • :N / :>N / :<N / :^N — العرض N، محاذاة لليمين/اليسار/الوسط.
  • :_ أو :, — فاصل الآلاف (f"{1000000:,}" → 1,000,000).

صيغ بديلة (كمرجع)

قبل f-strings (المقدمة في Python 3.6) تم استخدام نموذجين لذلك ستظل تواجه في الكود الأقدم:

Python
# stile .format() — verboso ma esplicito
"{} ha {} anni".format("Ada", 30)

# stile %-formatting — molto vecchio
"%s ha %d anni" % ("Ada", 30)

بالنسبة للتعليمات البرمجية الجديدة، استخدم دائمًا سلاسل f: أقصر وأكثر قابلية للقراءة وأسرع.

التنسيق المتقدم باستخدام سلاسل f

تدعم سلاسل F مواصفات التنسيق الغنية مباشرة داخل الأقواس المتعرجة. على سبيل المثال، لتنسيق رقم عشري بمنزلتين عشريتين بالضبط، يمكنك كتابة:

Python
price = 19.99
print(f"Price: {price:.2f} $")

يشير المحدد :.2f إلى أننا نريد تمثيل العدد العشري بمنزلتين عشريتين بالضبط.

جربه بنفسك

تمرين#python.m1.l4.e1
المحاولات: 0جارٍ التحميل…

بالنظر إلى `name = 'Ada'' و'age = 30`، أنشئ السلسلة 'Ada ha 30 anni' باستخدام سلسلة f وقم بتعيينها إلى `line`. تقييم "الخط".

جارٍ تحميل المحرر…
إظهار التلميح

بناء الجملة: f"شيء {متغير} شيء آخر"

الحل متاح بعد 3 من المحاولات

تمرين المراجعة

تمرين#python.m1.l4.e2
المحاولات: 0جارٍ التحميل…

اطبع باستخدام print() السلسلة 'pi greco vale 3.14' بدءًا من `pi = 3.14159`، باستخدام سلسلة f بمواصفات تنسيق مكونة من رقمين عشريين.

جارٍ تحميل المحرر…
إظهار التلميح

تأتي مواصفات التنسيق بعد النقطتين داخل الأقواس: {pi:.2f}.

الحل متاح بعد 3 من المحاولات

التحدي الإضافي

تمرين#python.m1.l4.e3
المحاولات: 0جارٍ التحميل…

Given a variable `price` set to `19.99`, use an f-string to construct the string `'Price: 19.99 €'` and store it in `receipt_line`. Finally, evaluate the variable.

جارٍ تحميل المحرر…
إظهار التلميح

استخدم f"السعر: {price} €" وقم بتعيين النتيجة إلى خط الإيصال.

الحل متاح بعد 3 من المحاولات