0.3أول برنامج والمفسّر التفاعلي
الأساسي في 30 ثانية
- print تعرض : الأداة الأساسية لرؤية ما يفعله الكود — فسطر واحد يكفي لأول برنامج.
- REPL للتجربة، والملف للحفظ : يختبر REPL في 5 ثوان دون حفظ، و.py يحفظ برنامجا حقيقيا.
- اقرأ الخطأ من الأسفل : السطر الأخير يقول الخطأ، والأسطر أعلاه تقول أين.
حالة مستمرة — نبيل يكتب أول تقرير في الجزائر
نبيل، محلل بيانات مبتدئ في الجزائر، جهازه جاهز : يريد عرض أول تقرير مبيعات له. أنشأ hello.py في VS Code بسطر print، ونفَّذه ورأى رسالته. أضاف تعليقا وسلسلة منسقة (f-string) مع مجموعه اليومي، ولاحظ التنفيذ من الأعلى إلى الأسفل، ثم فتح REPL لاختبار عملية حسابية في 5 ثوان دون لمس ملفه. أول خطأ له (اسم دون علامتي تنصيص) علَّمه قراءة التتبع (Traceback) من الأسفل : صحَّح وأعاد التشغيل.
حالة مستقلة لهذا القسم : تعود في الدرس والمخطط والنص الجاهز وتحدي 48 ساعة للقسم 0.3.
1. REPL : صندوق الرمل الفوري
اكتب python في الطرفية : فالمحث >>> يُنفِّذ كل سطر فورا (Read-Eval-Print Loop). مثالي لاختبار فكرة في 5 ثوان : عملية حسابية، أو سلسلة منسقة (f-string)، أو دالة. نخرج عبر exit() — ولا يُحفَظ شيء، فهو مصنوع لذلك. يتحقق نبيل هناك من مجموع مبيعاته قبل كتابته في تقريره : استكشف أولا، ثم ابنِ بعدها.
2. الملف .py : البرنامج الذي يبقى
في VS Code، أنشئ hello.py مع print("مرحبا، Python !")، ونفِّذ (زر التنفيذ أو python hello.py في الطرفية). الملف يبقى ويُقرأ ويُشارَك : فكل ما يتجاوز التجربة يعيش في ملف، أبدا في REPL. يُنفَّذ الكود من الأعلى إلى الأسفل، و# تُدخِل تعليقا يتجاهله Python للشرح للبشر. يضيف نبيل سطر print ثانيا وتعليقا : فتقريره الأول يقوم على ثلاثة أسطر.
3. قراءة خطأ دون خوف
يُقرأ التتبع (Traceback) من الأسفل : فالسطر الأخير يقول الخطأ (NameError عندما ننسى علامتي تنصيص حول نص)، والأسطر أعلاه تقول أين. نسخ الخطأ كما هو في محرك بحث يحل أغلب انسدادات المبتدئ. في Python 3، تظهر علامات التشكيل طبيعيا إذا حُفظت الملفات بترميز UTF-8 (يفعله VS Code افتراضيا). يستوعب نبيل القاعدة الذهبية : خطأ مفهوم درس مجاني — نقرأ ونصحِّح ونعيد التشغيل.
🔎 مثال ملموس — 🔎 مثال ملموس — أول برنامج، وأول خطأ، وأول تصحيح
التقرير الأدنى لنبيل، مع أول درس في الأخطاء.
# hello.py — أول تقرير لنبيل
prenom = "نبيل"
total_ventes = 12
print(f"مرحبا {prenom} !")
print(f"مجموع اليوم : {total_ventes} مبيعات")
# خطأ كلاسيكي : print(مرحبا) دون علامتي تنصيص -> NameError
# التصحيح : print("مرحبا") مع علامتي تنصيص -> نص
القراءة : يُنفِّذ نبيل hello.py : سطران معروضان من الأعلى إلى الأسفل ؛ ودون علامتي تنصيص، يبحث Python عن متغير (Variable) فيُصدِر NameError.
الدرس : خطأ مفهوم درس مجاني — اقرأ من الأسفل، وصحِّح، وأعد التشغيل.
مفردات القسم
- print()
- دالة تعرض نصا أو قيما على الشاشة. الأداة الأساسية لرؤية ما يفعله برنامج.
مثال بسيط: يعرض نبيل مجموع مبيعاته عبر print في الجزائر.
ما ليس كذلك: دالة تحفظ في ملف.
رد فعل: اعرض أولا للتحقق، ثم افترض بعدها.
- REPL (المفسّر التفاعلي)
- « Read-Eval-Print Loop » : نكتب تعليمة فيُنفِّذها Python ويعرض النتيجة فورا. نُشغِّله بكتابة python في الطرفية.
مثال بسيط: يختبر نبيل عملية حسابية في 5 ثوان دون لمس ملفه.
ما ليس كذلك: محرر يحفظ البرامج.
رد فعل: استكشف فكرة صغيرة في REPL قبل برمجتها.
- الملف .py
- ملف نصي يحتوي كود Python، يُنفَّذ دفعة واحدة عبر python monfichier.py.
مثال بسيط: يحفظ نبيل تقريره في hello.py، قابلا لإعادة التنفيذ والمشاركة.
ما ليس كذلك: جلسة قابلة للرمي تختفي عند الإغلاق.
رد فعل: متى تجاوز الأمرُ التجربةَ، اكتب في ملف.
- تعليق
- نص يتجاهله Python، يبدأ بـ #. يصلح لشرح الكود للبشر.
مثال بسيط: يُدوِّن نبيل لماذا يُحسَب مجموعه هكذا.
ما ليس كذلك: تعليمة يُنفِّذها Python.
رد فعل: علِّق على « لماذا »، لا على كل سطر بديهي.
- الصياغة
- قواعد كتابة اللغة. في Python، المسافة البادئة (الفراغات في بداية السطر) جزء من الصياغة.
مثال بسيط: يعتني نبيل بفراغاته : فهي تُهيكِل كتله المستقبلية.
ما ليس كذلك: مجرد تفضيل عرض.
رد فعل: اعتنِ بالكتابة من أول سطر.
في التطبيق — عمليا — أول « مرحبا » لك — الملف وREPL
- في VS Code، أنشئ « hello.py »، واكتب : print("مرحبا، Python !") ثم نفِّذ (زر التنفيذ أو « python hello.py » في الطرفية).
- أضف سطر تعليق (# أول سطر لي) وتعليمة print ثانية : ولاحظ التنفيذ من الأعلى إلى الأسفل.
- في الطرفية، شغِّل REPL بكتابة « python ». اكتب 2 + 3، ثم "a" * 5، ولاحظ النتائج الفورية.
- اخرج من REPL عبر exit() أو تركيبة نظامك، ثم أحدث خطأ وصحِّحه مقروءا من الأسفل.
نص جاهز — احكِ عن أول برنامج (30 ثانية)
« أنشأت hello.py : تعليمتي print، وتعليق، مُنفَّذة من VS Code — وتظهر من الأعلى إلى الأسفل. ولاختبار فكرة في 5 ثوان، أفتح REPL عبر python ؛ وأمام خطأ، أقرأ التتبع من الأسفل قبل التصحيح، مثل نبيل. »
يُقال مع عرض ملف hello.py وREPL مفتوحا في الطرفية جنبا إلى جنب.
قالب جاهز للنسخ — أول تقرير
# hello.py — قالب نبيل (محلل بيانات مبتدئ في الجزائر)
# كل سطر يُنفَّذ من الأعلى إلى الأسفل
prenom = "نبيل"
total_ventes = 12
print(f"مرحبا {prenom} !")
print(f"مجموع اليوم : {total_ventes} مبيعات")
print(f"غدا : {total_ventes + 1} مبيعات مستهدفة")
دون متغير
ابدأ بـ print ثابت (« مرحبا، Python ! »)، ثم أدخل prenom وسلسلة منسقة (f-string) — خطوة بخطوة.
صائد الأخطاء
احذف عمدا علامتي تنصيص، واقرأ NameError من الأسفل، ثم صحِّح — فلن يفاجئك أول خطأ بعدها.
ثنائي في الجزائر
يُملي نبيل ويكتب زميله : أحدهما يقرأ hello.py بصوت عال (print والتعليق)، والآخر يصف ما تعرضه الطرفية.
نحو الحساب
تقرير يعمل : أضف عملية حسابية في السلسلة المنسقة (المجموع + 1) وتحقق منها أولا في 5 ثوان في REPL.
✓ ممارسات جيدة
- استخدم REPL للتجربة، والملف للحفظ.
- اقرأ التتبع من الأسفل.
- ابحث عن الخطأ كما هو.
✗ أخطاء شائعة
- برمجة مشروع كامل في REPL (لا يُحفَظ شيء).
- الذعر أمام تتبع بدلا من قراءته.
- التصحيح عشوائيا دون قراءة الخطأ.
النقاط الأساسية
- print() تعرض على الشاشة : الأداة « لرؤية » ما يفعله الكود.
- REPL (الأمر python) يُنفِّذ كل سطر فورا : مثالي للاختبار.
- ملف .py يُنفَّذ دفعة واحدة عبر « python fichier.py » ويُنفَّذ من الأعلى إلى الأسفل.
- # تُدخِل تعليقا يتجاهله Python ؛ واقرأ التتبع من الأسفل.
تحدي 48 ساعة — طبِّق غدا
أنشئ hello.py بقالب نبيل، ونفِّذه، وغيِّر المجموع، ثم اختبر الحساب أولا في REPL.
- ملف hello.py يُنفَّذ ويعرض رسالتي مع سلسلة منسقة.
- أستخدم print والتعليق وREPL دون مساعدة.
- أقرأ تتبعا من الأسفل وأصحِّح دون ذعر.
أسئلة شائعة
ما الفرق بين REPL وملف .py؟
REPL صندوق رمل قابل للرمي لاختبار سطر أو اثنين ورؤية النتيجة فورا. وملف .py يحفظ برنامجا حقيقيا، قابلا لإعادة التنفيذ والمشاركة. نستخدم الاثنين : REPL للاستكشاف، والملف للبناء.
لماذا تظهر علامة أو حرف خاص عندي مشوها؟
يتعامل Python 3 مع Unicode أصلا، فهذا نادر. وإذا حدث، فغالبا مشكلة ترميز الطرفية : تأكد من حفظ ملفاتك بترميز UTF-8 (يفعله VS Code افتراضيا).
ما فائدة المفسّر التفاعلي (REPL)؟