رفتن به محتوای اصلی
برنامه‌سازی پیشرفته با پایتون درس‌نامهٔ آزاد

درس‌نامهٔ آزاد — دانیال رشیدی

برنامه‌سازی پیشرفته با پایتون

از تفکر شیءگرا تا طراحی، تست، بازآرایی، هم‌روندی و شبکه — قدم‌به‌قدم با پایتون

درس‌نامهٔ آزاد و قدم‌به‌قدم برنامه‌سازی پیشرفته با پایتون: از تفکر شیءگرا و طراحی کلاس تا تست، بازآرایی، الگوهای طراحی، هم‌روندی و شبکه. هر مفهوم با مثال اجرایی پایتون، هر مسیر با پیش‌نیاز مشخص.

  • هر مفهوم با یک مثال حل‌شده
  • هر فرمول با توضیح دقیق و کاربرد
  • در پایان هر بخش، تمرین با پاسخ تشریحی

پیشنهاد شروع: پل ورود به دوره

کلاس: نقشه شیء اول حالت مستقل شیء دوم حالت مستقل
یک کلاس، یک نقشه است؛ هر شیء نمونه‌ای زنده با حالت مستقل خودش — ایده‌ای که این دوره دور آن ساخته شده.
سطح
متوسط
ساختار
۱۳ بخش · ۸۱ مطلب
زمان مطالعه
حدود ۱۶ ساعت و ۴۸ دقیقه
مرجع
۲۸ واژهٔ تخصصی
موضوع‌ها: پایتونبرنامه‌سازی شیءگراطراحی نرم‌افزارتستهم‌روندیشبکه

هنوز مطلبی را تمام نکرده‌اید

۰ از ۸۱ مطلب

نقشهٔ راه

از کجا شروع کنم و بعدش کجا برم؟

از بالای فهرست شروع کنید و به‌ترتیب پایین بروید. هر بخش روی بخش قبلی سوار می‌شود؛ اگر مطلبی آشنا بود، مستقیم سراغ بخش بعد بروید.

  1. پیش‌نیاز و تفکر برنامه‌نویسی

    بخش ۰۱ از اینجا شروع کنید

    پل ورود به دوره: تفکر الگوریتمی، توابع، ارجاع‌ها و ساختار پروژه

    ۶ مطلب · حدود ۱ ساعت

    و ۲ مطلب دیگر در این بخش — مشاهده در فهرست

  2. مبانی برنامه‌سازی شیءگرا

    بخش ۰۲

    شیء، کلاس، کپسوله‌سازی و طراحی مسئولیت‌ها

    ۷ مطلب · حدود ۱ ساعت و ۱۳ دقیقه

    و ۳ مطلب دیگر در این بخش — مشاهده در فهرست

  3. وراثت و چندریختی

    بخش ۰۳

    وراثت، بازنویسی، ارسال پویا، ترکیب و MRO

    ۸ مطلب · حدود ۱ ساعت و ۲۹ دقیقه

    و ۴ مطلب دیگر در این بخش — مشاهده در فهرست

  4. طراحی پیشرفته کلاس‌ها و مدل شیء پایتون

    بخش ۰۴

    متدهای کلاس و ایستا، ویژگی‌ها، متدهای جادویی و چرخهٔ عمر شیء

    ۷ مطلب · حدود ۱ ساعت و ۲۳ دقیقه

    و ۳ مطلب دیگر در این بخش — مشاهده در فهرست

  5. ماژول، پکیج و برنامه‌نویسی جنریک

    بخش ۰۵

    واردات، فضاهای نام، اعلان نوع و طراحی نوع‌محور

    ۵ مطلب · حدود ۱ ساعت و ۳ دقیقه

    و ۱ مطلب دیگر در این بخش — مشاهده در فهرست

  6. مدیریت خطا، اشکال‌زدایی و آزمون

    بخش ۰۶

    استثناها، زمینه‌بان‌ها، روش اشکال‌زدایی و تست واحد

    ۸ مطلب · حدود ۱ ساعت و ۳۸ دقیقه

    و ۴ مطلب دیگر در این بخش — مشاهده در فهرست

  7. ساختمان داده‌ها و الگوریتم‌های پایه

    بخش ۰۷

    کالکشن‌های پایتون، تکرارگرها، جست‌وجو، مرتب‌سازی و پیچیدگی

    ۹ مطلب · حدود ۱ ساعت و ۴۲ دقیقه

    و ۵ مطلب دیگر در این بخش — مشاهده در فهرست

  8. فایل، ورودی/خروجی و سریال‌سازی

    بخش ۰۸

    متن و باینری، pathlib، JSON و CSV و بار امن دادهٔ خارجی

    ۵ مطلب · حدود ۱ ساعت و ۱ دقیقه

    و ۱ مطلب دیگر در این بخش — مشاهده در فهرست

  9. بازآرایی، کد تمیز و الگوهای طراحی

    بخش ۰۹

    بوی کد، ساده‌سازی، انسجام و الگوهای کاربردی با جایگزین پایتونیک

    ۶ مطلب · حدود ۱ ساعت و ۱۸ دقیقه

    و ۲ مطلب دیگر در این بخش — مشاهده در فهرست

  10. رابط گرافیکی و برنامه‌نویسی رویدادمحور

    بخش ۱۰

    مدل ذهنی GUI، حلقهٔ رویداد و جدایی منطق از نما

    ۴ مطلب · حدود ۵۰ دقیقه

  11. هم‌روندی، موازی‌سازی و شبکه

    بخش ۱۱

    ریسه‌ها، همگام‌سازی، اجراکننده‌ها و سوکت‌های TCP

    ۷ مطلب · حدود ۱ ساعت و ۴۲ دقیقه

    و ۳ مطلب دیگر در این بخش — مشاهده در فهرست

  12. بازتاب و مباحث تکمیلی

    بخش ۱۲

    درون‌نگری، تزئین‌کننده‌ها، بستارها و enum

    ۶ مطلب · حدود ۱ ساعت و ۹ دقیقه

    و ۲ مطلب دیگر در این بخش — مشاهده در فهرست

  13. مرور، حل مسئله و پروژه

    بخش ۱۳

    تمرین‌های ترکیبی، ردیابی کد و پروژهٔ پایانی

    ۳ مطلب · حدود ۱ ساعت و ۲۰ دقیقه

فهرست کامل دوره

همهٔ مطالب، بخش‌به‌بخش. برای شروع، همان ترتیب نقشهٔ راه را دنبال کنید.

  1. بخش ۰۱

    پیش‌نیاز و تفکر برنامه‌نویسی

    پل ورود به دوره: تفکر الگوریتمی، توابع، ارجاع‌ها و ساختار پروژه

  2. بخش ۰۲

    مبانی برنامه‌سازی شیءگرا

    شیء، کلاس، کپسوله‌سازی و طراحی مسئولیت‌ها

  3. بخش ۰۳

    وراثت و چندریختی

    وراثت، بازنویسی، ارسال پویا، ترکیب و MRO

  4. بخش ۰۴

    طراحی پیشرفته کلاس‌ها و مدل شیء پایتون

    متدهای کلاس و ایستا، ویژگی‌ها، متدهای جادویی و چرخهٔ عمر شیء

  5. بخش ۰۵

    ماژول، پکیج و برنامه‌نویسی جنریک

    واردات، فضاهای نام، اعلان نوع و طراحی نوع‌محور

  6. بخش ۰۶

    مدیریت خطا، اشکال‌زدایی و آزمون

    استثناها، زمینه‌بان‌ها، روش اشکال‌زدایی و تست واحد

  7. بخش ۰۷

    ساختمان داده‌ها و الگوریتم‌های پایه

    کالکشن‌های پایتون، تکرارگرها، جست‌وجو، مرتب‌سازی و پیچیدگی

  8. بخش ۰۸

    فایل، ورودی/خروجی و سریال‌سازی

    متن و باینری، pathlib، JSON و CSV و بار امن دادهٔ خارجی

  9. بخش ۰۹

    بازآرایی، کد تمیز و الگوهای طراحی

    بوی کد، ساده‌سازی، انسجام و الگوهای کاربردی با جایگزین پایتونیک

  10. بخش ۱۰

    رابط گرافیکی و برنامه‌نویسی رویدادمحور

    مدل ذهنی GUI، حلقهٔ رویداد و جدایی منطق از نما

  11. بخش ۱۱

    هم‌روندی، موازی‌سازی و شبکه

    ریسه‌ها، همگام‌سازی، اجراکننده‌ها و سوکت‌های TCP

  12. بخش ۱۲

    بازتاب و مباحث تکمیلی

    درون‌نگری، تزئین‌کننده‌ها، بستارها و enum

  13. بخش ۱۳

    مرور، حل مسئله و پروژه

    تمرین‌های ترکیبی، ردیابی کد و پروژهٔ پایانی

دربارهٔ دانیال رشیدی

این درس‌نامه را دانیال رشیدی می‌سازد و نگهداری می‌کند — یک مجموعهٔ باز از وب‌سایت‌های آموزشی برای موضوع‌های مختلف. پروژه‌ها و وب‌سایت‌های آموزشی جدید برای درس در کانال تلگرام قرار می‌گیره:

فهرست همهٔ وب‌سایت‌های آموزشی: study.danialrashidi.ir · حمایت از ادامهٔ آموزش