English: My study notes for the free Arabic Python course Mastering Python by Elzero Web School. Every lesson is a runnable Python file with explanations written in Arabic and the real output next to the code. 149 lessons in 22 topic folders, plus the course assignments.
ملاحظاتي الكاملة على دورة بايثون المجانية من الزيرو ويب سكول، مرتبة ومراجعة.
- كل درس ملف بايثون يشتغل. الشرح مكتوب بالعربي داخل الملف، وجنب كل سطر الناتج اللي بيطبعه.
- كل ناتج مكتوب مجرّب. شغّلت كل الدروس وقارنت النتيجة الحقيقية بالمكتوب، وصححت الاختلافات.
- مرتبة حسب المواضيع. 22 مجلد، وكل مجلد فيه دروس موضوع واحد.
- رقم الملف هو نفس رقم الفيديو. الملف
021_lists.pyهو شرح الفيديو رقم 21، وجنب كل درس رابط الفيديو تبعه.
هذه الملاحظات مبنية على دورة Mastering Python المجانية من قناة الزيرو ويب سكول للأستاذ أسامة الزيرو.
- قائمة الفيديوهات: Mastering Python على يوتيوب
ترتيب الدروس وعناوينها وأغلب الأمثلة من الدورة الأصلية. الشرح العربي والملاحظات والتمارين الإضافية من كتابتي. هذا المستودع لا يغني عن مشاهدة الدورة، هو مرجع للمراجعة بعد كل فيديو.
- بايثون 3.12 أو أحدث. الدروس مجربة على بايثون 3.12.
انسخ المستودع وادخل إلى مجلده:
git clone https://github.com/MohammedAMohsen/python-course.git
cd python-courseأنشئ بيئة افتراضية وثبّت المكتبات (الشرح الكامل في الدرس 150):
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtعلى ويندوز يكون أمر التفعيل هكذا: .venv\Scripts\activate
شغّل الدروس من المجلد الرئيسي للمستودع، لأن مسارات الملفات والصور وقواعد البيانات تبدأ منه:
python 02_strings/012_strings_indexing_and_slicing.pyإذا كنت تستخدم VS Code، افتح المجلد الرئيسي كاملاً ثم شغّل أي ملف.
- الدروس 001 و 002 و 005 ليس لها ملفات، لأنها فيديوهات شرح نظري بدون كود.
- بعض الدروس تطلب منك إدخال قيمة، مثل الاسم أو العمر. اكتب القيمة في الطرفية واضغط Enter.
- بعض النواتج تختلف عندك، مثل الأرقام العشوائية، والتاريخ، والوقت، وعناوين الذاكرة. هذا طبيعي، ومكتوب جنب كل واحد منها.
- بعض الملفات تتوقف عند خطأ بشكل مقصود لتوضيح الخطأ. مكتوب في أول الملف كيف تجرب الجزء الذي بعده.
- قواعد البيانات تُنشأ عند التشغيل. شغّل دروس قواعد البيانات بالترتيب من 118. التمرين 139b يحتاج بيانات من دروس تطبيق المهارات (123 إلى 126).
python-course/
├── 01_basics/ ... 22_virtual_environment_and_end/ دروس الدورة، مجلد لكل موضوع
├── assignments/ حلول الواجبات، كل ملف لمجموعة دروس
├── files/ ملفات نصية تقرأها دروس التعامل مع الملفات
├── images/ صور تستخدمها دروس مكتبة Pillow
├── database/ هنا تُنشأ قواعد البيانات عند تشغيل الدروس
└── requirements.txt المكتبات الخارجية المستخدمة في الدورة
كتابة أول برنامج، والتعليقات، وأنواع البيانات، والمتغيرات، ورموز الهروب.
| الدرس | الملف | الفيديو |
|---|---|---|
| 003 | Syntax And Your First App | مشاهدة |
| 004 | Comments And How To Use It | مشاهدة |
| 006 | Some Data Types Overview | مشاهدة |
| 007 | Variables Part One | مشاهدة |
| 008 | Variables Part Two | مشاهدة |
| 009 | Escape Sequences Characters | مشاهدة |
| 010 | Concatenation And Training | مشاهدة |
التقطيع، وأهم دوال النصوص، وتنسيق النص بالطرق القديمة والحديثة.
| الدرس | الملف | الفيديو |
|---|---|---|
| 011 | Strings | مشاهدة |
| 012 | Strings - Indexing And Slicing | مشاهدة |
| 013 | Strings Methods Part One | مشاهدة |
| 014 | Strings Methods Part Two | مشاهدة |
| 015 | Strings Methods Part Three | مشاهدة |
| 016 | Strings Methods Part Four | مشاهدة |
| 017 | Strings Formatting The Old Way | مشاهدة |
| 018 | Strings Formatting The New Ways | مشاهدة |
الأرقام والعمليات الحسابية، ثم القوائم والصفوف والمجموعات والقواميس ودوالها.
| الدرس | الملف | الفيديو |
|---|---|---|
| 019 | Numbers | مشاهدة |
| 020 | Arithmetic Operators | مشاهدة |
| 021 | Lists | مشاهدة |
| 022 | Lists Methods Part One | مشاهدة |
| 023 | Lists Methods Part Two | مشاهدة |
| 024 | Tuples And Methods Part One | مشاهدة |
| 025 | Tuples And Methods Part Two | مشاهدة |
| 026 | Set | مشاهدة |
| 027 | Set Methods Part One | مشاهدة |
| 028 | Set Methods Part Two | مشاهدة |
| 029 | Set Methods Part Three | مشاهدة |
| 030 | Dictionary | مشاهدة |
| 031 | Dictionary Methods Part One | مشاهدة |
| 032 | Dictionary Methods Part Two | مشاهدة |
| 033 | Boolean | مشاهدة |
عوامل المقارنة والمنطق والإسناد، وتحويل الأنواع، وأخذ مدخلات من المستخدم.
| الدرس | الملف | الفيديو |
|---|---|---|
| 034 | Boolean Operators | مشاهدة |
| 035 | Assignment Operators | مشاهدة |
| 036 | Comparison Operators | مشاهدة |
| 037 | Type Conversion | مشاهدة |
| 038 | User Input | مشاهدة |
| 039 | Practical - Email Slice | مشاهدة |
| 040 | Practical - Your Age Full Details | مشاهدة |
if و elif و else، والشروط المتداخلة، والشرط المختصر، والعامل in.
while و for، والحلقات المتداخلة، و break و continue و pass.
| الدرس | الملف | الفيديو |
|---|---|---|
| 047 | Loop - While and Else | مشاهدة |
| 048 | Loop - While Training's | مشاهدة |
| 049 | Loop - While Training's Bookmark Manager | مشاهدة |
| 050 | Loop - While Training's Password Guess | مشاهدة |
| 051 | Loop For and Else | مشاهدة |
| 052 | Loop For Training's | مشاهدة |
| 053 | Loop For Nested Loop | مشاهدة |
| 054 | Loop - Break Continue Pass | مشاهدة |
| 055 | Loop Advanced Dictionary | مشاهدة |
المعاملات، والقيم الافتراضية، و args و kwargs، والنطاق، والاستدعاء الذاتي، و lambda.
فتح الملفات وقراءتها والكتابة فيها وحذفها.
| الدرس | الملف | الفيديو |
|---|---|---|
| 065 | Files Handling Part One Intro | مشاهدة |
| 066 | Files Handling Part 2 Read Files | مشاهدة |
| 067 | Files Handling Part 3 Write and Append In Files | مشاهدة |
| 068 | Files Handling Part 4 Important Info | مشاهدة |
all و any و sum و round و range و map و filter و reduce و enumerate وغيرها.
| الدرس | الملف | الفيديو |
|---|---|---|
| 069 | Built In Functions Part One | مشاهدة |
| 070 | Built In Functions Part Two | مشاهدة |
| 071 | Built In Functions Part 3 | مشاهدة |
| 072 | Built In Functions Part 4 Map | مشاهدة |
| 073 | Built In Functions Part 5 Filter | مشاهدة |
| 074 | Built In Functions Part 6 Reduce | مشاهدة |
| 075 | Built In Functions Part 7 | مشاهدة |
استيراد الوحدات الجاهزة، وإنشاء وحدة خاصة، وتثبيت مكتبات خارجية.
| الدرس | الملف | الفيديو |
|---|---|---|
| 076 | Modules Part 1 - Intro And Built In Modules | مشاهدة |
| 077 | Modules Part 2 - Create Your Module | مشاهدة |
| 078 | Modules Part 3 - Install External Packages | مشاهدة |
التعامل مع التاريخ والوقت وتنسيقهما.
| الدرس | الملف | الفيديو |
|---|---|---|
| 079 | Date And Time Introduction | مشاهدة |
| 080 | Date And Time Format Date | مشاهدة |
الفرق بين المكرر والكائن القابل للتكرار، والمولدات، والمزخرفات، والدالة zip.
| الدرس | الملف | الفيديو |
|---|---|---|
| 081 | Iterable Vs Iterator | مشاهدة |
| 082 | Generators | مشاهدة |
| 083 | Decorators - Intro | مشاهدة |
| 084 | Decorators - Function With Parameters | مشاهدة |
| 085 | Decorators - Practical Speed Test | مشاهدة |
| 086 | Practical Loop On Many Iterators With Zip | مشاهدة |
التعديل على الصور بمكتبة Pillow، وكتابة التوثيق، وفحص الكود بأداة pylint.
| الدرس | الملف | الفيديو |
|---|---|---|
| 087 | Practical Image Manipulation With Pillow | مشاهدة |
| 088 | Docstring And Commenting vs Documenting | مشاهدة |
| 089 | Installing And Use Pylint For Better Code | مشاهدة |
رفع الأخطاء والتعامل معها، وتتبع الكود، وتلميحات الأنواع.
| الدرس | الملف | الفيديو |
|---|---|---|
| 090 | Errors And Exceptions Raising | مشاهدة |
| 091 | Exceptions Handling Try, Except, Else, Finally | مشاهدة |
| 092 | Exceptions Handling Advanced Example | مشاهدة |
| 093 | Debugging Code | مشاهدة |
| 094 | Type Hinting | مشاهدة |
البحث عن الأنماط في النصوص، مثل الإيميلات وأرقام الهواتف والروابط.
الكلاسات والكائنات، والوراثة، وتعدد الأشكال، والتغليف، والكلاسات المجردة.
إنشاء قاعدة بيانات، والإضافة والقراءة والتعديل والحذف، وبناء تطبيق مهارات كامل.
المتغير name، وقياس سرعة الكود، والسجلات، واختبار الكود، وتوليد أرقام تسلسلية.
بناء موقع صغير: الصفحات، والقوالب، والتنسيق، وجافاسكربت، وعرض بيانات من قاعدة البيانات.
فتح المتصفح والتحكم به من بايثون.
| الدرس | الملف | الفيديو |
|---|---|---|
| 141 | Web Scraping Control Browser With Selenium | مشاهدة |
المصفوفات، ومقارنتها بالقوائم في السرعة والذاكرة، والعمليات عليها وتغيير شكلها.
إنشاء بيئة خاصة لكل مشروع، وملف المتطلبات، ومصادر للتعلم بعد الدورة.
| الدرس | الملف | الفيديو |
|---|---|---|
| 150 | Virtual Environment Part 1 | مشاهدة |
| 151 | Virtual Environment Part 2 | مشاهدة |
| 152 | The End And Resources | مشاهدة |
مجلد assignments فيه حلولي لواجبات الدورة. كل ملف يغطي مجموعة دروس، واسمه يقول أي دروس، مثل assignments_021_to_023.py.
كتبت هذه الملاحظات بيدي أثناء متابعة الدورة. بعد انتهائها راجعت كل الملفات مع مساعد ذكاء اصطناعي. شغّلنا كل درس، وصححنا النواتج والشرح الخاطئ، ورتبنا الملفات في مجلدات، وأضفنا ملاحظات قصيرة حيث احتاج الشرح توضيحاً.
إذا وجدت خطأ، افتح مشكلة جديدة (Issue) في المستودع.