پایتون۱۲ درس رایگان

آموزش پایتون از صفر تا برنامه‌نویس، با تمرین در مرورگر

در این دوره پایتون را با نوشتن کد یاد می‌گیرید، از اولین print تا شیءگرایی و کتابخانهٔ استاندارد. هر فصل چند تمرین کوتاه دارد که همان لحظه بررسی می‌شوند.

  • بدون نصب پایتون، در مرورگر
  • دو فصل پروژهٔ واقعی در پایان
  • درس‌های اول رایگان است
ببینید چه می‌سازید
درس
۱۸۰
تمرین
۱۵۴
ساعت آموزش
۴۰
پایان دوره
گواهی
نمونه: نمودار نظرسنجی در ترمینال
poll.pyنمودار نظرسنجی در ترمینال
from collections import Counter
 
# هر رأی یک کلمه است و Counter همه را می‌شمارد
votes = """پایتون جاوااسکریپت پایتون گو پایتون راست
جاوااسکریپت پایتون گو پایتون جاوااسکریپت پایتون""".split()
 
counts = Counter(votes)
total = len(votes)
 
for language, n in counts.most_common():
    bar = "█" * n
    print(f"{bar:<7} {n / total:>4.0%}  {language}")
خروجی
██████   50%  پایتون
███      25%  جاوااسکریپت
██       17%  گو
█         8%  راست

رأی‌ها شمرده می‌شوند و برای هر گزینه یک نوار، درصد و نامش چاپ می‌شود. نمونه‌های دیگر

آنچه یاد می‌گیرید

در این دوره چه چیزهایی یاد می‌گیرید

فصل‌ها از ساده به پیشرفته چیده شده‌اند و هر کدام روی چیزی ساخته می‌شود که پیش از آن یاد گرفته‌اید.

  1. فصل ۱ و ۲ و ۳

    اولین برنامه‌ها

    با print و input برنامه‌ای می‌نویسید که می‌پرسد و جواب می‌دهد. متغیر، عدد، تبدیل نوع و عملگرها را یاد می‌گیرید و می‌فهمید چرا حساب اعشاری گاهی کمی خطا دارد.

  2. فصل ۴ و ۵

    متن، شرط و حلقه

    رشته را برش می‌زنید، با split و join تکه و دوباره سرهم می‌کنید و خروجی را با f-string مرتب می‌کنید. با if، while، for و match برنامه تصمیم می‌گیرد و کاری را تکرار می‌کند.

  3. فصل ۶ و ۷

    لیست، دیکشنری و مجموعه

    داده را در لیست و تاپل نگه می‌دارید و مرتب می‌کنید، با دیکشنری می‌شمارید و با مجموعه تکرارها را حذف می‌کنید.

  4. فصل ۸ و ۹ و ۱۰

    درک‌ها و توابع

    حلقه‌های چندخطی را در یک خط درک (comprehension) می‌نویسید. تابع با آرگومان پیش‌فرض، args و kwargs، lambda، بستار و بازگشت می‌سازید.

  5. فصل ۱۱ و ۱۲

    مولدها و مدیریت خطا

    با yield داده را تکه‌تکه تولید می‌کنید، بی‌آنکه همه را یک‌جا در حافظه نگه دارید. خطا را با try و except می‌گیرید و استثنای مخصوص برنامهٔ خودتان را تعریف می‌کنید.

  6. فصل ۱۳ و ۱۴ و ۱۵

    شیءگرایی

    کلاس، متد، property و وراثت را یاد می‌گیرید. با متدهای ویژه شیءهای شما مثل نوع‌های خود پایتون جمع، مقایسه و چاپ می‌شوند و با dataclass و enum کد کوتاه‌تری می‌نویسید.

  7. فصل ۱۶ و ۱۷

    دکوراتور، with و ماژول

    دکوراتور می‌نویسید، منابع را با with مدیریت می‌کنید و برنامه را در چند فایل و ماژول جدا می‌کنید.

  8. فصل ۱۸ و ۱۹ و ۲۰ و ۲۱ و ۲۲

    کتابخانهٔ استاندارد

    ابزارهایی را به کار می‌گیرید که همراه خود پایتون هستند: math و statistics، itertools و functools، Counter و defaultdict، عبارت‌های باقاعده، فایل، JSON، CSV، تاریخ و زمان و تایپ‌هینت.

  9. فصل ۲۳ و ۲۴

    تست و کیفیت کد

    با assert، unittest و doctest برای کدتان تست می‌نویسید، باگ را پیدا می‌کنید و با hashlib، base64 و asyncio آشنا می‌شوید.

  10. فصل ۲۵ و ۲۶

    دو فصل پروژه

    مبدل واحد، رمز سزار، تحلیل‌گر لاگ، گزارش فروش از CSV، دفترچه تلفن، سیستم انبار و مفسر عبارت ریاضی را خودتان می‌سازید.

نمونه‌کد

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

این شش برنامه را برای همین صفحه نوشته‌ایم. هر کدام مهارت یکی از فصل‌ها را نشان می‌دهد و خروجی کنارش همان چیزی است که اجرای کد چاپ می‌کند.

روش کار

یک درس چطور پیش می‌رود

  1. ۱

    توضیح کوتاه را می‌خوانید

    هر درس یک مفهوم را با یک مثال کوتاه توضیح می‌دهد و یک کار مشخص از شما می‌خواهد.

  2. ۲

    کد را می‌نویسید و اجرا می‌کنید

    خروجی برنامه همان لحظه زیر کد می‌آید. اگر برنامه ورودی بخواهد، آن را در کادر ورودی می‌نویسید.

  3. ۳

    جواب را بررسی می‌کنید

    دکمهٔ بررسی برنامهٔ شما را با چند ورودی آزمایش می‌کند. اگر جایی گیر کردید، راهنمای همان تمرین قدم‌به‌قدم کمکتان می‌کند.

ابزار رایگان

پایتون را همین حالا اجرا کنید

در صفحهٔ اجرای آنلاین پایتون هر کدی را بدون ثبت‌نام اجرا می‌کنید، با کادر ورودی برای input.

اجرای آنلاین پایتون
تمرین یا تماشا

این دوره چه فرقی با آموزش ویدیویی دارد

این دوره چه فرقی با آموزش ویدیویی دارد
موضوعدینا کدآموزش ویدیویی
در هر درسخودتان کد می‌نویسید و اجرا می‌کنید.بیشتر وقت به تماشای کدنویسی مدرس می‌گذرد.
برای شروعیک مرورگر کافی است.معمولاً باید پایتون و یک ویرایشگر را خودتان نصب کنید.
وقتی اشتباه می‌کنیدبررسی خودکار جای خطا را نشان می‌دهد و راهنما دارد.باید خودتان ایراد را پیدا کنید.
توضیح مدرسمتن کوتاه و مثال، بدون صدا و تصویر مدرسمدرس با صدا و تصویر توضیح می‌دهد.
سرفصل‌ها

سرفصل‌های دوره

۲۶ سرفصل، ۱۸۰ درس، ۱۵۴ تمرین

۱

شروع دوباره: اجرا، چاپ و ورودی

۶ درس
۲

متغیرها، اشیاء و نام‌ها

۷ درس
  • متغیر و انتسابپیش‌نمایش رایگانتمرین
  • همه‌چیز یک شیء استپیش‌نمایش رایگان
  • نوع داده را بشناسپیش‌نمایش رایگانتمرین
  • انتساب چندتایی و جابه‌جاییپیش‌نمایش رایگانتمرین
  • انتساب ترکیبی و delپیش‌نمایش رایگانتمرین
  • تغییرپذیری و هم‌نامیپیش‌نمایش رایگان
  • وقتی دو نام به یک لیست اشاره می‌کنندتمرین
۳

اعداد، منطق و عملگرها

۷ درس
  • اعداد صحیح و اعشاریتمرین
  • عملگرهای حسابی و تقدمتمرین
  • تبدیل نوع: int، float، strتمرین
  • مقایسه و منطق بولیتمرین
  • گرد کردن، قدرمطلق و توانتمرین
  • چرا ۰.۱+۰.۲ برابر ۰.۳ نیست
  • عملگرهای بیتیتمرین
۴

رشته‌ها و متن

۸ درس
  • رشته‌ها: نقل‌قول و گریزتمرین
  • اندیس‌گذاری و برش رشتهتمرین
  • متدهای حالت و پیرایشتمرین
  • split و joinتمرین
  • جست‌وجو و شمارش در رشتهتمرین
  • آزمون‌های رشته: isdigit و دوستانتمرین
  • f-string و قالب‌بندیتمرین
  • کاراکترها: ord و chrتمرین
۵

کنترل جریان: شرط‌ها و حلقه‌ها

۹ درس
  • تصمیم‌گیری با ifتمرین
  • عبارت شرطی کوتاهتمرین
  • حلقه whileتمرین
  • حلقه for و rangeتمرین
  • break، continue و else حلقهتمرین
  • حلقه‌های تو‌در‌توتمرین
  • خواندن چند خط ورودی تا پایانتمرین
  • تطبیق الگو با match/caseتمرین
  • والروس := و assertتمرین
۶

لیست‌ها و تاپل‌ها

۷ درس
  • لیست: ساخت و دسترسیتمرین
  • متدهای لیستتمرین
  • مرتب‌سازی: sort، sorted و keyتمرین
  • تاپل‌ها و بازکردنتمرین
  • بازکردن ستاره‌دارتمرین
  • لیستِ لیست‌ها (ماتریس)تمرین
  • کی از لیست استفاده کنیم
۷

دیکشنری‌ها و مجموعه‌ها

۸ درس
  • دیکشنری: کلید و مقدارتمرین
  • متدهای دیکشنریتمرین
  • شمارش با دیکشنریتمرین
  • پیمایش دیکشنریتمرین
  • دیکشنری‌های تو‌در‌توتمرین
  • مجموعه‌ها و حذف تکرارتمرین
  • عملیات مجموعه: اشتراک و اجتماعتمرین
  • هش، کلید و انتخاب ساختار درست
۸

درک‌ها (Comprehensions)

۷ درس
  • درک لیستتمرین
  • درک با شرطتمرین
  • درک دیکشنری و مجموعهتمرین
  • درک تو‌در‌توتمرین
  • شماره‌گذاری با enumerateتمرین
  • ترکیب دنباله‌ها با zipتمرین
  • خوانایی: کی درک، کی حلقه
۹

توابع

۹ درس
  • تعریف تابع و returnتمرین
  • آرگومان‌های پیش‌فرضتمرین
  • آرگومان‌های کلیدواژه‌ایتمرین
  • دام آرگومان پیش‌فرض تغییرپذیر
  • آرگومان‌های متغیر: args و kwargsتمرین
  • بازکردن در فراخوانی: * و **تمرین
  • پارامترهای فقط-موقعیتی و فقط-کلیدواژه‌ایتمرین
  • مستندسازی و حاشیه‌نویسی تابعتمرین
  • توابع بی‌نام: lambdaتمرین
۱۰

دامنه، بازگشت و توابع مرتبه‌بالا

۷ درس
  • دامنه: قانون LEGB
  • global و nonlocalتمرین
  • بستارها (Closures)تمرین
  • توابع به‌عنوان مقدارتمرین
  • map و filterتمرین
  • بازگشت (Recursion)تمرین
  • بازگشت روی ساختارهای تو‌در‌توتمرین
۱۱

ایترِیتورها و مولدها

۶ درس
  • پروتکل ایترِیتور
  • iter و next دستیتمرین
  • توابع مولد با yieldتمرین
  • عبارت‌های مولدتمرین
  • yield from و زنجیره مولدهاتمرین
  • مولدهای بی‌نهایت و isliceتمرین
۱۲

خطاها و استثناها

۷ درس
  • خطای نحوی در برابر استثنا
  • try و exceptتمرین
  • چند except و تاپل نوع‌هاتمرین
  • else و finallyتمرین
  • پرتاب و زنجیره استثناتمرین
  • استثناهای سفارشیتمرین
  • اعتبارسنجی ورودی با استثناتمرین
۱۳

شیءگرایی: کلاس‌ها و اشیاء

۷ درس
  • چرا شیءگرایی
  • کلاس، __init__ و selfتمرین
  • متدهاتمرین
  • متغیر کلاس در برابر نمونهتمرین
  • classmethod و staticmethodتمرین
  • property: گتر و ستر کنترل‌شدهتمرین
  • کپسوله‌سازی: _ و __تمرین
۱۴

شیءگرایی پیشرفته: وراثت و متدهای ویژه

۷ درس
  • وراثت و superتمرین
  • چندریختیتمرین
  • __repr__ و __str__تمرین
  • __eq__ و __hash__تمرین
  • ترتیب، طول و اندیس‌گذاریتمرین
  • متدهای حسابی ویژهتمرین
  • وراثت چندگانه و MRO
۱۵

ساختارهای کلاس مدرن: dataclass، enum، abc

۶ درس
  • dataclass: کلاس داده بدون تشریفاتتمرین
  • گزینه‌های dataclass: frozen و orderتمرین
  • enum: ثابت‌های نام‌دارتمرین
  • کلاس پایه انتزاعی (abc)تمرین
  • دسترسی پویا به صفاتتمرین
  • کدام ابزار کلاس برای کدام کار
۱۶

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

۶ درس
  • دکوراتور چیست
  • نوشتن یک دکوراتورتمرین
  • حفظ هویت تابع با functools.wrapsتمرین
  • دکوراتور با آرگومانتمرین
  • with و مدیریت منابعتمرین
  • contextlib و @contextmanagerتمرین
۱۷

ماژول‌ها، بسته‌ها و چندفایلی

۶ درس
  • import و from importتمرین
  • ساخت ماژول خودت (چندفایلی)تمرین
  • idiom __name__ == '__main__'تمرین
  • بسته‌ها و __init__
  • گردش در کتابخانه استاندارد
  • random با seed برای نتیجه قطعیتمرین
۱۸

ریاضی و ابزارهای کاربردی کتابخانه استاندارد

۷ درس
  • ماژول mathتمرین
  • ماژول statisticsتمرین
  • Decimal و Fraction برای دقتتمرین
  • itertools: ابزارهای پیمایشتمرین
  • itertools: ترکیب و جایگشتتمرین
  • functools: reduce، partial، cacheتمرین
  • ماژول operatorتمرین
۱۹

مجموعه‌های تخصصی و ساختارهای داده

۷ درس
  • Counter: شمارش حرفه‌ایتمرین
  • defaultdict: گروه‌بندی بدون دردسرتمرین
  • deque: صف دوسر کارآمدتمرین
  • namedtuple: رکورد سبکتمرین
  • heapq: صف اولویتتمرین
  • bisect: جست‌وجو در لیست مرتبتمرین
  • کپی سطحی در برابر عمیق
۲۰

عبارات باقاعده (Regex)

۶ درس
  • regex چیست و کی لازم است
  • search، match و findallتمرین
  • گروه‌ها و گروه‌های نام‌دارتمرین
  • جایگزینی با subتمرین
  • پرچم‌ها و splitتمرین
  • اعتبارسنجی با regexتمرین
۲۱

کار با فایل، JSON و CSV

۷ درس
  • خواندن فایلتمرین
  • نوشتن و بازخوانی فایلتمرین
  • StringIO: فایل در حافظهتمرین
  • JSON: loads و dumpsتمرین
  • پیمایش و اعتبارسنجی JSONتمرین
  • خواندن CSVتمرین
  • نوشتن CSVتمرین
۲۲

تاریخ، زمان و تایپ‌هینت

۶ درس
  • date، datetime و timedeltaتمرین
  • تجزیه و قالب‌بندی تاریختمرین
  • ماژول calendarتمرین
  • تایپ‌هینت: پایهتمرین
  • تایپ‌هینت: Optional، Union و Callableتمرین
  • تایپ‌هینت در دنیای واقعی
۲۳

تست، اشکال‌زدایی و کیفیت کد

۶ درس
  • تست با assertتمرین
  • unittest: تست‌های سازمان‌یافتهتمرین
  • doctest: تست درون مستنداتتمرین
  • اشکال‌زدایی: طرز فکر
  • باگ را پیدا و درست کنتمرین
  • کد پایتونیک و تمیز
۲۴

موضوعات پیشرفته و دانش حرفه‌ای

۶ درس
  • hashlib: هش قطعیتمرین
  • داده دودویی: struct و base64تمرین
  • ابزارهای متنی: textwrap و stringتمرین
  • درون‌نگری: dir، vars و pprintتمرین
  • همروندی: مفاهیم (مروری)
  • asyncio: یک نمونه قطعیتمرین
۲۵

پروژه‌های واقعی: ابزارهای متن و داده

۸ درس
  • از مفهوم تا پروژه
  • پروژه: مبدل واحدتمرین
  • پروژه: رمز سزارتمرین
  • پروژه: اعداد رومیتمرین
  • پروژه: تحلیل بسامد کلماتتمرین
  • پروژه: گزارش‌گر فروش از CSVتمرین
  • پروژه: تحلیل‌گر فایل لاگتمرین
  • پروژه: اعتبارسنج پیکربندی JSONتمرین
۲۶

پروژه‌های واقعی: سیستم‌ها و شیءگرایی

۷ درس
  • طراحی سیستم‌های کوچک
  • پروژه: مدیر کارها (To-Do)تمرین
  • پروژه: دفترچه تلفنتمرین
  • پروژه: سیستم حساب بانکی (شیءگرا)تمرین
  • پروژه: سیستم انبار/فروشگاهتمرین
  • پروژه: مفسر عبارت ریاضیتمرین
  • پروژه‌ی پایانی: گزارش‌گر چندفایلیتمرین
شروع دوره

از همین امروز شروع کنید

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

این دوره شامل:
  • ۱۸۰ درس تعاملی
  • ۱۵۴ تمرین عملی
  • ۴۰ ساعت محتوای آموزشی
  • اجرای کد در مرورگر، بدون نصب
  • گواهی پایان دوره
  • دسترسی مادام‌العمر

نمونه‌ها را دوباره ببینید

رایگانبرای شروع

۱۲ درس ابتدایی رایگان است. برای ادامه، اشتراک بگیرید یا دوره را بخرید.

بدون نیاز به پرداخت مبلغی برای شروع

برای چه کسی

این دوره برای چه کسی است

  • تازه‌کار

    اگر تا امروز هیچ کدی ننوشته‌اید. دوره از اولین print شروع می‌شود.

  • دانش‌آموز و دانشجو

    برای درس مبانی برنامه‌نویسی، پروژهٔ دانشگاه یا تمرین برای مسابقه‌های برنامه‌نویسی.

  • کسی که پایه را بلد است

    اگر یک دورهٔ مقدماتی دیده‌اید و می‌خواهید شیءگرایی، مولدها، دکوراتورها و کتابخانهٔ استاندارد را درست یاد بگیرید.

پیش‌نیاز: یک رایانه و یک مرورگر. تجربهٔ برنامه‌نویسی لازم نیست.

بعد از این دوره

تمرین رایگان

تمرین پایتون با جواب

اگر می‌خواهید کنار دوره بیشتر تمرین کنید، تمرین‌های رایگان پایتون با جواب و توضیح آماده است.

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

پرسش‌های پرتکرار

آموزش پایتون را از کجا شروع کنم؟
از فصل اول همین دوره. درس‌ها با print و input شروع می‌شوند و هر مفهوم تازه را بلافاصله در یک تمرین کوتاه به کار می‌برید.
برای یادگیری پایتون باید آن را روی رایانه نصب کنم؟
نه. کد هر تمرین در مرورگر نوشته و اجرا می‌شود، با Python 3.12. اگر بعداً پایتون را روی رایانه نصب کنید، همین کدها بدون تغییر اجرا می‌شوند.
یادگیری پایتون چقدر طول می‌کشد؟
به وقتی که می‌گذارید بستگی دارد. درس‌ها کوتاه‌اند و می‌توانید هر روز چند درس جلو بروید. مدت تقریبی کل دوره بالای همین صفحه آمده است.
بعد از این دوره با پایتون چه کارهایی از دستم برمی‌آید؟
برنامه‌های خط فرمان می‌نویسید، فایل‌های متنی، CSV و JSON را پردازش می‌کنید و برنامه‌های شیءگرا با تست می‌سازید. این همان پایه‌ای است که برای رفتن به سراغ توسعهٔ وب یا تحلیل داده لازم دارید.
آیا جنگو، پانداس یا هوش مصنوعی هم در این دوره هست؟
نه. دوره روی خود زبان و کتابخانهٔ استاندارد پایتون تمرکز دارد. کتابخانه‌های جانبی، رابط گرافیکی، شبکه و پایگاه داده در آن نیستند.
چند درس این دوره رایگان است؟
درس‌های ابتدایی دوره رایگان است و برای شروع پرداختی لازم نیست. تعداد دقیق آن‌ها کنار دکمهٔ شروع نوشته شده است.
در پایان دوره گواهی می‌گیرم؟
بله. وقتی همهٔ درس‌ها را تمام کنید، گواهی پایان دوره با یک شمارهٔ استعلام می‌گیرید که هر کسی می‌تواند درستی آن را بررسی کند. اگر نام انگلیسی خود را در حساب ثبت کنید، نسخهٔ انگلیسی گواهی هم در دسترس است.

همین امروز شروع کنید

اولین برنامهٔ پایتونتان را همین امروز در مرورگر بنویسید. شروع رایگان است و در کمتر از دو دقیقه وارد محیط یادگیری می‌شوید.

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