بايثون من الصفر إلى البطل في التطبيق العملي: الكود والأوامر التي تهم حقاً

بايثون زيرو هيروس: الأساسيات في مقال واحد — كود حقيقي، رسوم بيانية وخطوات ملموسة، مقتطفات من دورة مكونة من 41 درسًا.

بايثون من الصفر إلى البطل في التطبيق العملي: الكود والأوامر التي تهم حقاً

لا توجد نظرية لا نهاية لها هنا: نفتح الطرفية ونمارس. إليك أساسيات بايثون زيرو هيروس، مستخرجة مباشرة من دورة كاملة تضم 41 درسًا — مع كود حقيقي يمكنك نسخه ولصقه الآن.

tl;dr
  • مقدمة وتثبيت
  • المتغيرات والأنواع والمعاملات
  • الشروط والحلقات
  • هياكل البيانات
  • الدوال
~$ cat ./parcours.md # Python Zéro Héros — 10 فصول
01
المقدمة والتثبيت
→ عرض الدورة ولماذا بايثون؟→ تثبيت بايثون وVS Code وتهيئة الطرفية+ 1 دروس أخرى
02
المتغيرات والأنواع والمعاملات
→ المتغيرات وقواعد التسمية→ الأنواع البدائية: int، float، str، bool+ 2 دروس أخرى
03
الشروط والحلقات
→ الشروط: if، elif، else→ حلقة for وrange()+ 2 دروس أخرى
04
هياكل البيانات
→ القوائم: الإنشاء، الفهرسة، التقطيع، الطرق→ الصفوف والبيانات غير القابلة للتغيير+ 2 دروس أخرى
05
الدوال
→ تعريف واستدعاء دالة→ المعلمات الموضعية، المسماة، الافتراضية+ 2 دروس أخرى
06
البرمجة الشيئية
→ الفئات والكائنات→ الطرق والمنشئات (__init__)+ 2 دروس أخرى
07
إدارة الأخطاء والملفات
→ قراءة وكتابة ملفات نصية→ تنسيق JSON وCSV في بايثون+ 2 دروس أخرى
08
الوحدات والحزم
→ إنشاء واستيراد وحدة خاصة بك→ الوحدات القياسية: os، sys، datetime، random+ 1 دروس أخرى
🏁
المشروع النهائي (+ 2 فصول في الطريق)
→ تعود بمشروع ملموس وقابل للعرض

المعاملات الحسابية والمنطقية

NOTEالهدف — إتقان المعاملات الحسابية (بما في ذلك القسمة الصحيحة والمودولو)، ومعاملات المقارنة والمنطقية، وفهم ترتيب الأولوية.

الأهداف التعليمية

TIPعند نهاية هذه الوحدة
  • استخدام + - * / // % **
  • فهم الفرق بين / و//
  • مقارنة القيم باستخدام == != < > <= >=
  • دمج الشروط باستخدام and، or، not
  • معرفة ترتيب أولوية المعاملات

المعاملات الحسابية

المعاملالدورمثالالنتيجة
+جمع7 + 310
-طرح7 - 34
*ضرب7 * 321
/قسمة (عشرية)7 / 23.5
//قسمة صحيحة7 // 23
%مودولو (الباقي)7 % 21
**أس2 ** 101024
NOTEملاحظة: المودولو % مفيد جدًا: n % 2 == 0 يختبر ما إذا كان n زوجيًا. القسمة الصحيحة // تقطع الجزء العشري.

معاملات التعيين المركبة

and

صحيح إذا كانت كلتا الشرطين صحيحتين.

دوال lambda والاستيعابات

NOTEالهدف — تعلم كتابة دوال مجهولة (lambda) واستيعابات القوائم والقواميس والمجموعات لإنتاج كود بايثون موجز وقابل للقراءة واصطلاحي.

الأهداف التعليمية

TIPعند نهاية هذه الوحدة
  • تعريف دالة lambda ومعرفة متى تستخدمها
  • كتابة استيعابات القوائم مع التصفية والتحويل
  • استخدام استيعابات القواميس والمجموعات
  • فهم map() وfilter() وبدائلها
  • الاختيار بين الحلقة التقليدية والاستيعاب حسب قابلية القراءة

الحدس: وصفة في سطر واحد

حتى الآن، لتحويل قائمة كنت تكتب حلقة for مع append(). هذا صحيح، لكنه مطول. يقدم بايثون صيغة مكثفة، وهي استيعاب القائمة، التي تعبر عن « إنشاء قائمة جديدة بتطبيق عملية على كل عنصر » في سطر واحد قابل للقراءة.

وبالمثل، أحيانًا تحتاج دالة صغيرة للاستخدام مرة واحدة (مثل الترتيب أو التصفية). كتابة def كامل سيكون ثقيلاً: دالة lambda تسمح بتعريف هذه الدالة مباشرة حيث تحتاجها.

NOTEالقاعدة الذهبية: الاستيعابات والـ lambda موجودة لجعل الكود أكثر قابلية للقراءة، وليس للتباهي. إذا أصبح سطر غير قابل للقراءة، عد إلى الحلقة التقليدية.

دالة lambda

الـ lambda هي دالة مجهولة (بلا اسم) معرفة في تعبير واحد. صيغتها هي lambda arguments: expression. تعيد تلقائيًا نتيجة التعبير، بدون return.

باستخدام حلقة تقليدية

الأداةمثالالنتيجة
map() list(map(lambda x: x*2, [1,2,3])) [2, 4, 6]
filter() list(filter(lambda x: x>2, [1,2,3,4])) [3, 4]
استيعاب [x*2 for x in [1,2,3]] [2, 4, 6]
NOTEأي أسلوب تختار؟ في بايثون الحديث، يُفضل الاستيعاب عمومًا على map/filter + lambda، لأنه أكثر قابلية للقراءة. احتفظ بـ map/filter عندما توجد دالة مسماة مسبقًا: map(str, nombres) واضح جدًا.

الأخطاء الشائعة

استيعاب معقد جدًا

تداخل for اثنين وعدة if في سطر واحد يجعله غير قابل للقراءة. عند مستويين من المنطق، فضّل الحلقة التقليدية.

التأثير الجانبي

الاستيعاب يُستخدم لبناء مجموعة، وليس لتنفيذ إجراءات (مثل print). للتأثيرات الجانبية، استخدم حلقة for.

تحويلات النوع (cast)

NOTEالهدف — تعلم تحويل قيمة من نوع إلى آخر (cast)، وفهم لماذا يُرجع input() دائمًا سلسلة نصية، وتجنب أخطاء التحويل.

الأهداف التعليمية

TIPعند نهاية هذه الوحدة
  • استخدام int()، float()، str()، bool()
  • فهم أن input() يُرجع دائمًا سلسلة نصية
  • تحويل إدخال المستخدم إلى رقم
  • توقع أخطاء التحويل (ValueError)
  • التمييز بين التحويل الضمني والصريح

لماذا التحويل؟

لكل قيمة نوع. أحيانًا يكون لديك رقم مخزن كنص ("42") وتريد جمعه. يجب حينها تحويله إلى عدد صحيح. يُسمى ذلك cast.

X بدون تحويل

va-plus-loin

تغطي هذه المقالة المقتطفات الأكثر فائدة — الدورة الكاملة بايثون زيرو هيروس (11 فصلاً، 41 درسًا، تمارين محلولة ومشروع نهائي) تأخذك حتى النهاية.

./acceder-au-cours-complet cours gratuit : Maîtriser Claude Code

الأسئلة الشائعة

كم من الوقت لتعلم بايثون زيرو هيروس؟
مع تقدم منظم (11 فصلاً، 41 درسًا قصيرًا وعمليًا)، يمكن الوصول إلى مستوى تشغيلي في بضعة أسابيع بمعدل 30 إلى 60 دقيقة يوميًا. المهم هو ممارسة كل مفهوم فورًا.
هل هناك متطلبات سابقة؟
لا توجد متطلبات سابقة: الدورة تبدأ من الصفر، وكل مفهوم يُقدم قبل استخدامه.
من أين نبدأ عمليًا؟
طبّق الأوامر الواردة في هذه المقالة، ثم تابع دورة بايثون زيرو هيروس الكاملة: فهي تربط الـ41 درسًا بالترتيب، مع تمارين ومشروع نهائي.

📬 هل تريد تلقي هذا النوع من الأدلة كل أسبوع؟ اشترك مجانًا — كود حقيقي، بدون ثرثرة.