بايثون
تعلم بايثون من البداية إلى النهاية. الصياغة, هياكل البيانات, البرمجة كائنية التوجه, المولدات, البرمجة غير المتزامنة, الاختبار, والتحزيم.
19 درسًا، بالترتيب
- 120 دقيقة
مرحبا، بايثون
أهلًا بك. إن لم تكتب شيفرة في حياتك من قبل فأنت في المكان الصحيح. Python لغة برمجة، أي طريقة لإعطاء الحاسوب تعليمات خطوة بخطوة بصيغة تشبه الإنجليزية...
VariablesPrintRepl - 225 دقيقة
الأرقام والنصوص
أهلًا بعودتك. في الدرس 01 شغّلت أول ملف Python لك، وتعلّمت أن المتغيّر صندوق عليه ملصق يحمل قيمة. واليوم ننظر في نوعَي القيم اللذين ستستعملهما أكثر...
IntegersFloatsString concatenationF-strings - 315 دقيقة
أن تسأل المستخدم سؤالا
إلى الآن كتبت برامج تفعل الشيء نفسه دائمًا كلما ضغطت زر التشغيل. شغّلها عشر مرات تحصل على الأجوبة العشرة نفسها. هي مفيدة، لكنها ليست أدوات بعد، لأن...
Input()String return typeInt() and float() conversionInteractive programs - 430 دقيقة
تدفق التحكم
حتى الآن كانت برامجك تمضي في خط مستقيم، من أعلى الملف إلى أسفله، سطرًا بعد سطر. هذا يكفي لرسالة ترحيب، لكن أغلب البرامج المفيدة تحتاج أن تتخذ قرارات...
If/elif/elseComparison operatorsBoolean operatorsWhile loopsFor loopsBreak and continue - 530 دقيقة
القوائم والصفوف
حتى الآن كان كل متغيّر يحمل قيمة واحدة: رقمًا واحدًا أو سلسلة نصية واحدة. أما البرامج الحقيقية فتحتاج عادةً إلى حفظ مجموعة صغيرة من القيم المترابطة...
List creationIndexingSlicingAppendPopIteration+2 - 630 دقيقة
القواميس والمجموعات
أهلًا بعودتك. القوائم رائعة حين يهم الترتيب وحين تصل إلى العناصر بموقعها، لكن كثيرًا من البيانات الحقيقية منظَّم بالاسم: للشخص عمر، وللدولة عاصمة،...
Dict basicsGet with defaultIterate keysIterate valuesIterate itemsSets+1 - 730 دقيقة
الدوال
أهلًا بعودتك. استعملت إلى الآن بضع دوال جاءت مع Python، مثل print() و len(). وفي هذا الدرس ستكتب دوالك أنت. الدالة كتلة كود لها اسم، تستطيع تشغيلها...
DefParametersDefault valuesKeyword arguments*args and **kwargsReturn values+1 - 825 دقيقة
التعابير المختصرة (Comprehensions)
أنت تعرف أصلًا كيف تكتب حلقة for تبني قائمة أو قاموسًا أو مجموعة عنصرًا عنصرًا. والاختزال (comprehension) طريقة أقصر لكتابة الحلقة نفسها في سطر واحد....
List comprehensionsDict comprehensionsSet comprehensionsConditional expressionsGenerator expressionsReadability tradeoffs - 930 دقيقة
الملفات وIO
البرنامج الذي لا يفعل سوى الطباعة في الطرفية ينسى كل شيء لحظة انتهائه. والخطوة التالية، وهي التي تجعل Python تبدو فجأة نافعة، أن تعلّمها القراءة من...
Open with withReading linesWriting filesPathlib.PathJson readJson write - 1030 دقيقة
الوحدات والحزم (Modules and Packages)
حتى الآن كان كل برنامج يعيش في ملف واحد. لا بأس بذلك وأنت تتعلم، لكن المشاريع الحقيقية توزّع كودها على ملفات كثيرة حتى يبقى كل ملف قصيرًا ومركّزًا....
ImportFrom importWriting your own moduleIf __name__ == "__main__"Packages__init__.py - 1135 دقيقة
الأصناف وOOP
أهلًا بك في واحدة من أكبر أفكار Python. استعملت إلى الآن أدوات جاهزة (السلاسل النصية والقوائم والقواميس والدوال) لتشكيل البيانات. وفي هذا الدرس...
Class definition__init__Instance attributesClass attributesMethods__repr__ - 1230 دقيقة
الوراثة والتكوين
في الدرس 10 بنيتَ أصنافًا من الصفر. وفي الكود الحقيقي نادرًا ما تعيش الأصناف وحدها. فأحيانًا يكون صنف نسخة أكثر تخصيصًا من صنف آخر (Dog هو Animal)،...
SubclassingSuper()Method overridingCompositionWhen to choose composition - 1330 دقيقة
معالجة الاستثناءات
سبق أن قابلت الأخطاء. في كل مرة أخطأت فيها كتابة اسم، أو قسمت على صفر، أو طلبت من قائمة عنصرًا في موضع غير موجود، توقف Python وطبع جدارًا من النص...
TryExceptElseFinallyRaiseCustom exception classes+1 - 1430 دقيقة
المكررات والمولدات (Iterators and Generators)
تعرف من الدروس السابقة كيف تكتب for item in something:. في هذا الدرس ننظر تحت الغطاء لنرى ما الذي تفعله Python فعليا في كل مرة تدور فيها هذه الحلقة....
Iterator protocolYieldGenerator functionsGenerator expressionsLazy evaluation - 1530 دقيقة
المزخرفات (Decorators)
أهلا بك في واحد من أصعب مواضيع Python. المُزخرِف (decorator) غلاف صغير تضعه حول دالة فتكتسب سلوكا إضافيا بسيطا (تسجيل، قياس زمن، فحص صلاحية) دون أن...
Functions are objectsWrapper functions@decorator syntaxFunctools.wrapsParametrized decorators - 1625 دقيقة
مديرو السياق (Context Managers)
أهلًا بعودتك. منذ الدرس 08 وأنت تكتب with open(...) as f: وتثق بأن الملف يُغلق عند انتهاء الكتلة. هذا الدرس يفتح ذلك الصندوق. ستعرف ما الذي تفعله...
With statement__enter__ and __exit__Writing your own context managerContextlib.contextmanager - 1740 دقيقة
التزامن: الخيوط وAsync
أهلًا بعودتك. حتى الآن كانت برامجنا تفعل شيئًا واحدًا في كل مرة، من الأعلى إلى الأسفل، وكان ذلك كافيًا. تبدأ المشكلة حين يقضي البرنامج معظم وقته في...
GIL in plain languageConcurrent.futures.ThreadPoolExecutorAsyncio basicsAsync defAwaitWhen to use threads vs async - 1835 دقيقة
الاختبار باستخدام pytest
أهلا بعودتك. حتى الآن كنت تشغّل الكود وتفحص الناتج بعينيك. هذا يصلح مع بضعة أسطر، لكنك ما إن تغيّر شيئا حتى تضطر إلى إعادة فحص كل شيء من جديد....
Test functionsAssertRunning pytestParametrizeFixtures - 1935 دقيقة
التغليف والنشر
حتى الآن كتبت كود Python تشغّله أنت وحدك بكتابة python something.py. هذا الدرس عن الخطوة الصغيرة، الميكانيكية في معظمها، التي تحوّل ذلك السكربت إلى...
Pyproject.tomlPip install -eConsole scriptsBuilding a wheelPublishing to PyPI
تعلّم بايثون بلغتك
كل درس واختبار ورد من المدرس يظهر بلغتك. المدرس الذكي يرد بنفس اللغة التي تكتب بها.
Roles that use Python
See how hiring teams interview engineers on Python, in production-like environments.
Senior Python Developer
Hire senior Python developers in real Django, FastAPI and Flask codebases with real load and real test suites. Live or take-home, fully recorded.
See the interviewBackend Engineer (Go, Rust, Java)
Hire backend engineers in real services with real databases, real concurrency and real latency budgets. Live or take-home, fully recorded.
See the interviewData Engineer
Hire data engineers in workspaces with real Spark, dbt and Airflow pipelines. Schema drift, bad data and reruns included.
See the interview