النقاط الرئيسية
1. أساسيات بايثون: المتغيرات، السلاسل النصية، والأرقام
المتغيرات هي مواقع تخزين لها اسم.
المتغيرات وأنواع البيانات. توفر بايثون عدة أنواع بيانات أساسية، بما في ذلك السلاسل النصية، الأعداد الصحيحة، والأعداد العشرية. يتم إنشاء المتغيرات باستخدام عامل الإسناد (=) ويمكنها تخزين أي من هذه الأنواع. تُحاط السلاسل النصية بعلامات اقتباس وتدعم عمليات مختلفة مثل الدمج والتكرار.
التلاعب بالسلاسل النصية. تقدم بايثون دوال وطرق مدمجة للعمل مع السلاسل النصية:
- len(): يعيد طول السلسلة النصية
- upper() و lower(): تحويل السلاسل النصية إلى أحرف كبيرة أو صغيرة
- format(): يسمح بإدراج القيم داخل السلاسل النصية
- الفهرسة والتقطيع: الوصول إلى الأحرف الفردية أو الأجزاء الفرعية من السلسلة
العمليات العددية. تدعم بايثون العمليات الحسابية الأساسية (+، -، *، /) بالإضافة إلى العمليات الأكثر تقدمًا مثل الأس (**) والباقي (%). كما توفر اللغة دوال مدمجة لتحويل الأنواع (int()، float()، str()) والعمليات الرياضية (max()، min()).
2. تدفق التحكم: القيم البوليانية، العبارات الشرطية، والدوال
تسمح لك الدوال بكتابة كتلة من كود بايثون مرة واحدة واستخدامها عدة مرات.
المنطق البولياني. تستخدم بايثون True و False كقيم بوليانية. تُستخدم عوامل المقارنة (==، !=، >، <، >=، <=) والعوامل المنطقية (and، or، not) لإنشاء تعبيرات بوليانية.
العبارات الشرطية. يتم إدارة تدفق التحكم باستخدام عبارات if، elif، و else:
- if condition:
كتلة الكود
- elif another_condition:
كتلة الكود
- else:
كتلة الكود
الدوال. تُعرّف الدوال باستخدام الكلمة المفتاحية def، تليها اسم الدالة والمعاملات. يمكنها قبول المعاملات، تنفيذ العمليات، وإرجاع القيم. تعزز الدوال إعادة استخدام الكود وتنظيمه.
3. هياكل البيانات: القوائم، القواميس، والصفوف
القائمة هي نوع بيانات يحتفظ بمجموعة مرتبة من العناصر.
القوائم. القوائم هي مجموعات قابلة للتغيير ومرتبة من العناصر. يتم إنشاؤها باستخدام الأقواس المربعة [] وتدعم عمليات مختلفة:
- الفهرسة والتقطيع
- append()، extend()، و insert() لإضافة العناصر
- remove() و pop() لإزالة العناصر
- sort() لترتيب العناصر
القواميس. القواميس هي مجموعات غير مرتبة من أزواج المفتاح والقيمة. يتم إنشاؤها باستخدام الأقواس المعقوفة {} والنقطتين لفصل المفاتيح والقيم. توفر القواميس عمليات بحث سريعة وتكون مفيدة لتخزين البيانات المهيكلة.
الصفوف. الصفوف هي مجموعات غير قابلة للتغيير ومرتبة من العناصر. يتم إنشاؤها باستخدام الأقواس () وتُستخدم غالبًا لمجموعات البيانات الثابتة. على الرغم من أن محتوياتها لا يمكن تغييرها بعد الإنشاء، يمكن تفكيك الصفوف إلى متغيرات متعددة.
4. التعامل مع الملفات: القراءة، الكتابة، والأوضاع
لفتح ملف، استخدم الدالة المدمجة open().
فتح الملفات. تُستخدم الدالة open() لفتح الملفات، مع توفر أوضاع مختلفة:
- 'r': القراءة (الوضع الافتراضي)
- 'w': الكتابة (يستبدل المحتوى الموجود)
- 'a': الإلحاق
- 'b': الوضع الثنائي
القراءة والكتابة. يمكن قراءة الملفات باستخدام دوال مثل read()، readline()، أو readlines(). تتم الكتابة باستخدام دالة write(). يُوصى باستخدام عبارة with لإغلاق الملفات تلقائيًا بعد الاستخدام.
أوضاع الملفات ومعالجة الأخطاء. تسمح أوضاع الملفات المختلفة بعمليات متنوعة، مثل القراءة، الكتابة، أو الإلحاق. من المهم معالجة الأخطاء المحتملة عند العمل مع الملفات باستخدام كتل try/except لالتقاط الاستثناءات مثل FileNotFoundError.
5. البرمجة المعيارية: استيراد وإنشاء الوحدات
وحدات بايثون هي ملفات بامتداد .py ويمكنها تنفيذ مجموعة من السمات (المتغيرات)، الطرق (الدوال)، والفئات (الأنواع).
استيراد الوحدات. يمكن استيراد الوحدات باستخدام عبارة import. يمكن استيراد دوال أو سمات محددة باستخدام from module import function. يتيح ذلك إعادة استخدام الكود وتنظيمه.
إنشاء الوحدات. يمكن إنشاء وحدات مخصصة بحفظ كود بايثون في ملفات .py. يمكن بعد ذلك استيراد هذه الوحدات واستخدامها في سكريبتات بايثون الأخرى. يمكن استخدام المتغير name لتحديد ما إذا كانت الوحدة تُشغل مباشرة أو مستوردة.
مسار البحث عن الوحدات. تستخدم بايثون مسار بحث للعثور على الوحدات. يمكن تعديل هذا المسار باستخدام متغير البيئة PYTHONPATH أو عن طريق التلاعب بـ sys.path في الكود.
6. معالجة الأخطاء: الاستثناءات وكتل Try/Except
الاستثناء هو عادةً إشارة إلى أن شيئًا ما قد حدث خطأ أو حدث غير متوقع في برنامجك.
أنواع الاستثناءات. تحتوي بايثون على العديد من أنواع الاستثناءات المدمجة، مثل ValueError، TypeError، و FileNotFoundError. تساعد هذه الأنواع في تحديد مشكلات محددة في الكود.
كتل Try/Except. يمكن التقاط الاستثناءات ومعالجتها باستخدام كتل try/except:
try:
# كود قد يثير استثناء
except ExceptionType:
# كود لمعالجة الاستثناء
الاستثناءات المخصصة. يمكن للمبرمجين إنشاء فئات استثناء مخصصة عن طريق الوراثة من الفئة المدمجة Exception. يتيح ذلك معالجة الأخطاء بشكل أكثر تحديدًا في التطبيقات المعقدة.
7. مكتبة بايثون القياسية: الوحدات والدوال المدمجة
يتم توزيع بايثون مع مكتبة كبيرة من الوحدات التي يمكنك الاستفادة منها.
الوحدات الشائعة في المكتبة القياسية:
- time: للدوال المتعلقة بالوقت
- sys: للمعلمات والدوال الخاصة بالنظام
- os: لواجهات نظام التشغيل
- json: لترميز وفك ترميز JSON
- csv: لقراءة وكتابة ملفات CSV
- random: لتوليد الأرقام العشوائية
الدوال المدمجة. توفر بايثون العديد من الدوال المدمجة التي تكون متاحة دائمًا:
- print(): للإخراج إلى وحدة التحكم
- input(): لإدخال المستخدم
- len(): للحصول على طول التسلسلات
- range(): لتوليد تسلسلات من الأرقام
- type(): لتحديد نوع الكائن
استكشاف الوحدات. يمكن استخدام دالة dir() لاستكشاف محتويات الوحدات، مما يعرض الدوال والسمات المتاحة. توفر دالة help() وثائق مفصلة للوحدات، الدوال، والكائنات.
آخر تحديث::
مراجعات
يحظى كتاب "برمجة بايثون للمبتدئين" بتقييمات إيجابية في الغالب، حيث يبلغ متوسط تقييمه 3.90 من 5. يقدر القراء وضوحه وبساطته وفعاليته للمبرمجين المبتدئين. يُشيد الكتاب بشرحاته السهلة الفهم، وأمثلةه العملية، وتمارينه. تتضمن بعض الانتقادات وجود أخطاء مطبعية، وأمثلة غير فعالة في بعض الأحيان، ونقص في المحتوى المتقدم. بينما يرى البعض أنه مبالغ في سعره مقارنة بمحتواه، يعتبره الكثيرون نقطة انطلاق جيدة لتعلم أساسيات بايثون. يُوصى بالكتاب بشكل خاص للمبتدئين تمامًا، ولكنه قد يكون أقل فائدة للمبرمجين ذوي الخبرة.