نقشه راه کامل · رایگان · فارسی

آموزش جامع پایتون از صفر تا پیشرفته

همه آموزش‌ها، دوره‌ها و پروژه‌های پایتون Dev Source در یک مسیر مرتب؛ از اولین خط کد تا ساخت ربات تلگرام و پروژه‌های رزومه‌ای.

۵۳آموزش و پروژه۲دوره کامل۱۹پروژه عملی

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

پایتون چیست و چرا باید آن را یاد بگیریم؟

پایتون (Python) یک زبان برنامه‌نویسی همه‌منظوره، سطح بالا و متن‌باز است که سال ۱۹۹۱ توسط خیدو فان روسوم منتشر شد. فلسفه اصلی پایتون «خوانایی» است؛ کدهای پایتون شبیه جمله‌های ساده انگلیسی هستند و به همین دلیل، این زبان یکی از بهترین انتخاب‌ها برای شروع برنامه‌نویسی است. امروز پایتون در فهرست محبوب‌ترین زبان‌های دنیا در جایگاه اول یا نزدیک به اول قرار دارد و شرکت‌هایی مثل گوگل، اینستاگرام، اسپاتیفای و نتفلیکس بخش‌های مهمی از سیستم‌های خود را با آن ساخته‌اند.

کاربرد پایتون تقریباً بی‌پایان است: توسعه وب و API، تحلیل داده و هوش مصنوعی، اتوماسیون کارهای تکراری، ساخت ربات تلگرام، اسکریپت‌نویسی برای سرور، تست نرم‌افزار، امنیت و حتی ساخت بازی‌های ساده. یعنی هر مسیری را که بعداً انتخاب کنید، مهارت پایتون همراه شما خواهد بود.

این صفحه نقشه کامل یادگیری پایتون در Dev Source است. همه آموزش‌های سایت را به ترتیب منطقی یادگیری کنار هم چیده‌ایم تا بدانید از کجا شروع کنید، بعد از هر مرحله سراغ چه چیزی بروید و کدام پروژه‌ها را برای تثبیت آموخته‌ها بسازید. اگر تازه‌کار هستید، از بخش اول شروع کنید و ترتیب را حفظ کنید؛ اگر بخشی را بلدید، از فهرست مطالب مستقیم به مرحله بعدی بروید.

چگونه پایتون را اصولی یاد بگیریم؟ هفت توصیه کلیدی

  1. هر روز کد بنویسید، حتی کم. نیم ساعت تمرین روزانه از پنج ساعت تمرین در یک روز آخر هفته بسیار مؤثرتر است. مغز با تکرار منظم، الگوهای برنامه‌نویسی را به حافظه بلندمدت منتقل می‌کند.
  2. کدها را تایپ کنید، کپی نکنید. وقتی مثال‌ها را خودتان می‌نویسید، با خطاهای تایپی و پیام‌های خطای پایتون روبه‌رو می‌شوید و همین خطاها بهترین معلم شما هستند.
  3. ترتیب را رعایت کنید. مفاهیم پایتون روی هم ساخته می‌شوند. اگر حلقه‌ها را خوب یاد نگرفته باشید، List Comprehension و پروژه‌ها برایتان گیج‌کننده خواهند بود. این صفحه دقیقاً برای حفظ همین ترتیب طراحی شده است.
  4. بعد از هر بخش یک پروژه بسازید. خواندن آموزش فقط «آشنایی» می‌آورد؛ «مهارت» با ساختن به دست می‌آید. برای هر سطح، پروژه‌های مناسب را در بخش‌های پروژه همین صفحه پیدا می‌کنید.
  5. پیام‌های خطا را بخوانید. پایتون معمولاً دقیقاً می‌گوید مشکل کجاست و چیست. یاد بگیرید آخرین خط پیام خطا (مثلاً TypeError یا NameError) را بخوانید و معنی آن را جستجو کنید.
  6. پروژه‌ها را توسعه دهید. وقتی پروژه‌ای را تمام کردید، یک قابلیت به آن اضافه کنید: ذخیره در فایل، منوی بهتر، اعتبارسنجی ورودی یا گزارش آماری. این کار شما را از سطح «پیروی از آموزش» به سطح «حل مسئله» می‌برد.
  7. یک هدف مشخص داشته باشید. ساخت ربات تلگرام، اتوماسیون کارهای اداری، ورود به تحلیل داده یا کسب درآمد فریلنسری؛ هدف روشن انگیزه شما را در روزهای سخت یادگیری حفظ می‌کند و مشخص می‌کند بعد از مبانی سراغ کدام کتابخانه‌ها بروید.

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

نصب پایتون و آماده‌سازی محیط برنامه‌نویسی

قبل از نوشتن اولین خط کد، باید پایتون را روی سیستم خود نصب کنید. در ویندوز کافی است نسخه رسمی را از python.org دانلود کنید و هنگام نصب حتماً گزینه Add Python to PATH را فعال کنید تا بتوانید از خط فرمان به پایتون دسترسی داشته باشید. بعد از نصب، با اجرای دستور python --version مطمئن شوید همه چیز درست است.

برای نوشتن کد به یک ویرایشگر نیاز دارید. VS Code رایگان، سبک و محبوب‌ترین انتخاب است؛ PyCharm Community هم برای پروژه‌های بزرگ‌تر گزینه خوبی است. در شروع کار، همان IDLE که همراه پایتون نصب می‌شود هم کافی است. مهم این است که کدها را خودتان تایپ و اجرا کنید؛ کپی کردن کد، یادگیری را سطحی می‌کند.

مبانی پایتون: اولین برنامه، متغیرها و انواع داده

اولین قدم در هر زبان برنامه‌نویسی، نمایش خروجی است. در پایتون این کار با تابع print() انجام می‌شود. بعد از آن با متغیرها آشنا می‌شوید؛ جعبه‌هایی که داده را در حافظه نگه می‌دارند و با یک نام قابل دسترسی‌اند. پایتون نوع متغیر را خودش تشخیص می‌دهد، پس لازم نیست مثل برخی زبان‌ها نوع را از قبل اعلام کنید.

انواع داده پایه شامل عدد صحیح (int)، عدد اعشاری (float)، رشته (str) و مقدار بولی (bool) هستند. با تابع input() از کاربر ورودی می‌گیرید و با عملگرهای ریاضی و مقایسه‌ای روی داده‌ها محاسبه انجام می‌دهید. همین چند مفهوم ساده، پایه همه برنامه‌هایی است که بعداً می‌سازید؛ پس با حوصله و تمرین زیاد از این مرحله عبور کنید.

name = input("Your name: ")
age = int(input("Your age: "))
print(f"Hello {name}, next year you will be {age + 1}")

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

برنامه‌های واقعی باید تصمیم بگیرند و کارها را تکرار کنند. با دستورهای if، elif و else مسیر اجرای برنامه را بر اساس شرایط مختلف تعیین می‌کنید؛ مثلاً اگر نمره بالای ۱۰ بود «قبول» چاپ شود و در غیر این صورت «مردود».

حلقه for برای پیمایش یک دنباله مثل لیست یا بازه اعداد با range() به کار می‌رود و حلقه while تا وقتی یک شرط برقرار باشد تکرار می‌شود. دستورهای break، continue و pass هم کنترل دقیق‌تری روی حلقه‌ها به شما می‌دهند: خروج زودهنگام، رد شدن از یک دور و ساخت بلوک خالی. ترکیب شرط و حلقه، قدرت اصلی برنامه‌نویسی است؛ تقریباً هر الگوریتمی با همین دو ابزار ساخته می‌شود.

ساختارهای داده: لیست، تاپل، دیکشنری و مجموعه

وقتی تعداد داده‌ها زیاد می‌شود، دیگر نمی‌توان برای هر مقدار یک متغیر جدا ساخت. پایتون چهار ساختار داده داخلی قدرتمند دارد. لیست مجموعه‌ای مرتب و قابل تغییر است و پرکاربردترین ساختار داده پایتون محسوب می‌شود. تاپل شبیه لیست است اما بعد از ساخته شدن تغییر نمی‌کند و برای داده‌های ثابت مناسب است.

دیکشنری داده‌ها را به‌صورت جفت کلید و مقدار ذخیره می‌کند؛ مثل دفترچه تلفن که با نام شخص به شماره او می‌رسید. مجموعه (Set) هم عناصر تکراری را حذف می‌کند و عملیات ریاضی مثل اجتماع و اشتراک را انجام می‌دهد. انتخاب ساختار داده درست، کد را ساده‌تر و سریع‌تر می‌کند. بعد از یادگیری این چهار ساختار، با List Comprehension یاد می‌گیرید لیست‌ها را در یک خط و به شکلی حرفه‌ای بسازید.

کار با رشته‌ها و متن

بخش بزرگی از برنامه‌نویسی، کار با متن است: نام کاربر، پیام‌ها، داده‌های فایل و پاسخ وب‌سایت‌ها. در پایتون رشته‌ها دنباله‌ای از کاراکترها هستند که می‌توانید با ایندکس به هر حرف دسترسی پیدا کنید و با برش (Slicing) بخشی از آن‌ها را جدا کنید.

ده‌ها متد آماده مثل upper()، split()، replace() و strip() کار با متن را بسیار ساده می‌کنند. در نهایت با f-string یاد می‌گیرید متغیرها را به شکلی خوانا داخل متن قرار دهید و اعداد را با تعداد اعشار مشخص یا جداکننده هزارگان نمایش دهید.

توابع: نوشتن کد قابل استفاده مجدد

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

در این مرحله با انواع پارامترها (موقعیتی، کلیدی و پیش‌فرض)، محدوده متغیرها (Local و Global)، آرگومان‌های متغیر *args و **kwargs و توابع ناشناس Lambda آشنا می‌شوید. تسلط بر توابع، مرز بین «کسی که کد می‌نویسد» و «کسی که برنامه طراحی می‌کند» است.

def average(*scores):
    return sum(scores) / len(scores)

print(f"{average(17, 19, 15):.2f}")  # 17.00

مدیریت خطا و کار با فایل‌ها

برنامه‌های واقعی با خطا روبه‌رو می‌شوند: کاربر به‌جای عدد، حرف وارد می‌کند یا فایلی که می‌خواهید بخوانید وجود ندارد. با ساختار try، except، else و finally این خطاها را مدیریت می‌کنید تا برنامه به‌جای توقف ناگهانی، پیام مناسب نمایش دهد.

بعد از آن یاد می‌گیرید اطلاعات را در فایل ذخیره کنید تا با بستن برنامه از بین نروند. فایل‌های متنی ساده‌ترین روش‌اند و فرمت JSON استاندارد تبادل داده بین برنامه‌ها و وب‌سرویس‌هاست. بیشتر پروژه‌های عملی این سایت از JSON برای ذخیره اطلاعات استفاده می‌کنند.

ماژول‌ها، کتابخانه‌ها و محیط مجازی

یکی از بزرگ‌ترین نقاط قوت پایتون، اکوسیستم عظیم کتابخانه‌های آن است. با import از ماژول‌های داخلی مثل math، random و datetime استفاده می‌کنید و با ساخت پکیج، کد پروژه‌های بزرگ را منظم نگه می‌دارید.

ابزار pip هزاران کتابخانه آماده را با یک دستور نصب می‌کند و محیط مجازی venv کتابخانه‌های هر پروژه را از بقیه جدا نگه می‌دارد تا نسخه‌ها با هم تداخل نداشته باشند. کار با تاریخ و زمان هم با ماژول datetime آموزش داده شده که در پروژه‌هایی مثل محاسبه سن و حضور و غیاب به کار می‌رود.

برنامه‌نویسی شیءگرا (OOP)

با بزرگ‌تر شدن برنامه‌ها، نیاز به روشی برای سازمان‌دهی کد پیدا می‌کنید. برنامه‌نویسی شیءگرا داده‌ها و رفتارهای مرتبط را در قالب «کلاس» کنار هم قرار می‌دهد. هر کلاس یک الگو است و از روی آن «شیء»های مختلف می‌سازید؛ مثلاً کلاس «دانشجو» با ویژگی‌های نام و نمره و متدی برای محاسبه معدل.

در این مرحله با سازنده __init__، متدها، وراثت و بازنویسی متدها آشنا می‌شوید و در پایان یک پروژه کامل مدیریت مخاطبان با ترکیب OOP و JSON می‌سازید. OOP پایه فریم‌ورک‌هایی مثل Django و کتابخانه‌هایی مثل python-telegram-bot است.

پروژه‌های تمرینی: بازی‌ها و برنامه‌های کوچک

بهترین راه تثبیت آموخته‌ها ساختن پروژه است. این پروژه‌ها کوچک اما کامل هستند و هرکدام چند مفهوم را با هم ترکیب می‌کنند: حلقه و شرط، ماژول random، اعتبارسنجی ورودی و امتیازدهی. پیشنهاد ما این است که قبل از خواندن راه‌حل، سعی کنید هر پروژه را خودتان بنویسید و بعد کدتان را با آموزش مقایسه کنید.

پروژه

پروژه ساخت ماشین‌حساب ساده با پایتون

آموزش مرحله‌به‌مرحله

خواندن آموزش ←
پروژه

ساخت بازی حدس عدد با پایتون

پروژه کامل با سطح سختی و امتیازدهی

خواندن آموزش ←
پروژه

ساخت بازی سنگ کاغذ قیچی با پایتون

پروژه کامل با امتیازدهی

خواندن آموزش ←
پروژه

ساخت شبیه‌ساز تاس با پایتون

پروژه کامل با random، چند تاس و آمار نتایج

خواندن آموزش ←
پروژه

ساخت آزمون چهارگزینه‌ای با پایتون

پروژه کامل با امتیازدهی و نتیجه نهایی

خواندن آموزش ←
پروژه

ساخت بازی حدس کلمه با پایتون

پروژه کامل Hangman با random و Set

خواندن آموزش ←
پروژه

ساخت بازی دوز با پایتون

پروژه کامل Tic-Tac-Toe دو نفره با تشخیص برد

خواندن آموزش ←
پروژه

ساخت تولیدکننده رمز عبور با پایتون

پروژه امن و قابل توسعه با secrets

خواندن آموزش ←
پروژه

ساخت برنامه تبدیل واحد با پایتون

پروژه کامل طول، وزن، دما، حجم و سرعت

خواندن آموزش ←
پروژه

ساخت برنامه محاسبه سن با پایتون

محاسبه دقیق سال، ماه و روز با datetime

خواندن آموزش ←
پروژه

ساخت برنامه محاسبه BMI با پایتون

پروژه کامل با اعتبارسنجی و تحلیل نتیجه

خواندن آموزش ←

پروژه‌های کاربردی برای رزومه

بعد از بازی‌ها نوبت برنامه‌هایی است که در زندگی واقعی به کار می‌آیند و می‌توانید در رزومه یا گیت‌هاب خود نمایش دهید. این پروژه‌ها از ذخیره‌سازی JSON، منوهای متنی، گزارش‌گیری و ساختار تمیز توابع استفاده می‌کنند. برخی مثل مدیریت رمزهای عبور با رمزنگاری Fernet و مرتب‌سازی فایل‌ها با Pathlib، شما را با کتابخانه‌های حرفه‌ای‌تر هم آشنا می‌کنند.

ربات تلگرام با پایتون

ساخت ربات تلگرام یکی از جذاب‌ترین و پرتقاضاترین کاربردهای پایتون در ایران است. با کتابخانه python-telegram-bot از ساخت ربات در BotFather تا دریافت پیام و پاسخ خودکار را یاد می‌گیرید. ربات‌ها می‌توانند فروشگاه، پشتیبانی، سرگرمی یا اطلاع‌رسانی باشند و یک مسیر واقعی برای کسب درآمد از پایتون محسوب می‌شوند. آموزش‌های دکمه‌های شیشه‌ای، اتصال به دیتابیس و راه‌اندازی روی سرور هم به‌زودی اضافه می‌شوند.

مسیر بعدی: پایتون پیشرفته

بعد از تمام کردن این مسیر، آماده ورود به مباحث پیشرفته و تخصصی هستید. آموزش‌های زیر در تقویم محتوایی Dev Source قرار دارند و به‌مرور منتشر می‌شوند:

  • حلقه‌های تو در تو و ماژول random
  • کار با دیتابیس SQLite و فایل‌های CSV
  • کار با API و کتابخانه requests
  • عبارات باقاعده (Regex)
  • دکوراتورها، Iteratorها و Generatorها
  • Dataclass و Type Hint
  • وب اسکرپینگ با BeautifulSoup
  • رابط گرافیکی با Tkinter
  • تست‌نویسی با pytest و لاگ‌گیری
  • تحلیل داده با pandas و NumPy
  • توسعه وب با Flask و Django

تا انتشار این آموزش‌ها، پروژه‌های بخش قبل را کامل کنید و برای هر کدام یک قابلیت جدید اضافه کنید؛ این بهترین تمرین برای رسیدن به سطح پیشرفته است.

پرسش‌های متداول

یادگیری پایتون چقدر طول می‌کشد؟

با روزی یک تا دو ساعت تمرین منظم، مبانی پایتون در حدود یک تا دو ماه و سطح متوسط (توابع، فایل، OOP) در سه تا چهار ماه به دست می‌آید. برای ورود به بازار کار، علاوه بر این مسیر باید در یک حوزه تخصصی مثل وب، داده یا ربات تمرکز کنید.

آیا برای یادگیری پایتون باید ریاضی قوی داشته باشم؟

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

آموزش‌های این صفحه رایگان هستند؟

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

از کدام آموزش شروع کنم؟

اگر هیچ تجربه‌ای ندارید، از «پایتون چیست؟» و «نصب پایتون» شروع کنید و سپس دوره رایگان پایتون از صفر را به ترتیب جلو بروید. بعد از هر بخش، یکی از پروژه‌های همان سطح را بسازید.

پایتون برای کسب درآمد در ایران مناسب است؟

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

پایتون ۲ یا پایتون ۳؟

همیشه پایتون ۳. پشتیبانی از پایتون ۲ از سال ۲۰۲۰ تمام شده و همه آموزش‌های Dev Source بر اساس پایتون ۳ نوشته شده‌اند.