الطباعة والإخراج (Print Output)

الطباعة هي الطريقة الأساسية التي يتحدث بها برنامجك معك. سواء كنت تعرض نتائج حسابية، رسائل خطأ، أو واجهة مستخدم نصية، فإن دالة print() هي الأداة التي ستستخدمها آلاف المرات.

في هذا الدرس، لن نكتفي بالطباعة الأساسية، بل سنتعمق في كيفية تنسيق المخرجات بشكل احترافي وجميل باستخدام أحدث تقنيات بايثون مثل f-strings.

1. أساسيات الطباعة

يمكنك طباعة النصوص، الأرقام، المتغيرات، وحتى العمليات الحسابية مباشرة.

basic_print.py
print("مرحباً بالعالم!")  # طباعة نص
print(100)               # طباعة رقم
print(5 + 3)             # طباعة نتيجة عملية حسابية

name = "سارة"
print(name)              # طباعة متغير

# طباعة عدة قيم مفصولة بفاصلة (تضيف مسافة تلقائياً)
print("الاسم:", name, "| العمر:", 25)
النتيجة
مرحباً بالعالم! 100 8 سارة الاسم: سارة | العمر: 25

2. التحكم في الفاصل (sep) والنهاية (end)

دالة print() تحتوي على معلمات اختيارية قوية:

  • sep: ما يتم وضعه بين القيم (الافتراضي مسافة).
  • end: ما يتم طباعته في النهاية (الافتراضي سطر جديد \n).
sep_end.py
# تغيير الفاصل
print("أحمد", "محمد", "علي", sep=" - ")
print("user", "domain.com", sep="@")

# الطباعة في نفس السطر (تغيير end)
print("جاري التحميل", end="...")
print("تم!") # سيطبع بجانب السطر السابق

# طباعة بدون سطر جديد في النهاية
for i in range(1, 4):
    print(i, end=" ")
النتيجة
أحمد - محمد - علي user@domain.com جاري التحميل...تم! 1 2 3

3. تنسيق النصوص (f-strings) 🚀

هذه هي الطريقة الأحدث والأفضل في بايثون (منذ إصدار 3.6). تضع حرف f قبل النص، ثم تضع المتغيرات داخل أقواس {}.

f_strings.py
name = "خالد"
score = 95.5678

# طريقة f-string
print(f"الطالب {name} حصل على {score}")

# تنسيق الأرقام (منزلتين عشريتين)
print(f"الدرجة: {score:.2f}")

# عمليات حسابية داخل الأقواس
a = 5
b = 10
print(f"المجموع: {a + b}")
print(f"هل {a} أكبر من {b}؟ {a > b}")

# تنسيق المسافات (لعمل جداول)
print(f"{'الاسم':<10} | {'الدرجة':>6}")
print("-" * 20)
print(f"{'علي':<10} | {90:>6}")
print(f"{'فاطمة':<10} | {100:>6}")
النتيجة
الطالب خالد حصل على 95.5678 الدرجة: 95.57 المجموع: 15 هل 5 أكبر من 10؟ False الاسم | الدرجة -------------------- علي | 90 فاطمة | 100

4. رموز الهروب (Escape Characters)

تستخدم لطباعة أحرف خاصة لا يمكن كتابتها مباشرة.

الرمز الوصف
\n سطر جديد (New Line)
\t مسافة بادئة (Tab)
\" علامة تنصيص مزدوجة
\' علامة تنصيص مفردة
\\ طباعة الشرطة المائلة نفسها
print("السطر الأول\nالسطر الثاني")
print("الاسم:\tمحمد")
print("قال: \"بايثون لغة رائعة\"")
print("المسار: C:\\Windows\\System32")

5. تطبيق عملي: طباعة فاتورة

receipt.py
item1 = "قهوة"
price1 = 15.5
item2 = "كعكة"
price2 = 20.0

total = price1 + price2

print("=" * 30)
print(f"{'فاتورة مشتريات':^30}") # توسيط النص
print("=" * 30)

print(f"{'الصنف':<20} {'السعر':>8}")
print("-" * 30)
print(f"{item1:<20} {price1:>8.2f}")
print(f"{item2:<20} {price2:>8.2f}")
print("-" * 30)
print(f"{'الإجمالي':<20} {total:>8.2f}")
print("=" * 30)
print(f"{'شكراً لزيارتكم':^30}")
النتيجة
============================== فاتورة مشتريات ============================== الصنف السعر ------------------------------ قهوة 15.50 كعكة 20.00 ------------------------------ الإجمالي 35.50 ============================== شكراً لزيارتكم
ملخص الدرس
  • استخدم f-strings لتنسيق النصوص، فهي الأسهل والأسرع.
  • استخدم sep لتغيير الفاصل بين القيم، و end للتحكم بنهاية السطر.
  • استخدم \n للنزول لسطر جديد و \t للمسافات.

الخطوة التالية

ماذا لو حدث خطأ في البرنامج؟ كيف نمنع توقفه؟

الدرس التالي: معالجة الأخطاء (Error Handling)
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن