دوره تعاملی · ۷۰ درس مستقل

آموزش پایتون؛ از اولین خط کد تا پروژه

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

۷۰ صفحه آموزشیویرایشگر کدذخیره پیشرفت در مرورگر
پیشرفت کلی دوره

درس‌هایی که تکمیل می‌کنی در همین مرورگر ثبت می‌شوند.

۰ از ۷۰
درس‌های ۱ تا ۱۰

شروع، نصب و انواع داده

پایتون چیست و کجا استفاده می‌شود؟، نصب پایتون و انتخاب ویرایشگر، اولین برنامه با print، …

شروع این بخش ←
درس‌های ۱۱ تا ۲۰

ورودی، رشته و شرط‌ها

ورودی با input، عملگرهای ریاضی، اولویت عملگرها، …

شروع این بخش ←
درس‌های ۲۱ تا ۳۰

عملگرها، حلقه و تابع

عملگرهای مقایسه، and و or و not، حلقه while، …

شروع این بخش ←
درس‌های ۳۱ تا ۴۰

پارامتر و ساختمان داده

مقدار پیش‌فرض پارامتر، دامنه متغیرها، لیست چیست؟، …

شروع این بخش ←
درس‌های ۴۱ تا ۵۰

داده‌ها، ماژول و فایل

کار با کلیدهای دیکشنری، لیست‌های تو در تو، درک مطلب لیست (Comprehension)، …

شروع این بخش ←
درس‌های ۵۱ تا ۶۰

خطا، شی‌گرایی و کیفیت کد

try و except، اعتبارسنجی ورودی، برنامه‌نویسی شی‌گرا: مفهوم کلاس، …

شروع این بخش ←
درس‌های ۶۱ تا ۷۰

مفاهیم پیشرفته و پروژه

تابع lambda، توابع map و filter، مولدها و yield، …

شروع این بخش ←

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

01پایتون چیست و کجا استفاده می‌شود؟پایتون زبانی خوانا برای اتوماسیون، داده، وب و آموزش است. در این درس با کاربردها و شیوه اجرای کد آشنا می‌شوی.02نصب پایتون و انتخاب ویرایشگرنسخه پایتون و یک ویرایشگر مناسب نصب کن و تفاوت فایل کد و محیط تعاملی را بشناس.03اولین برنامه با printتابع print متن و مقدار را در خروجی نشان می‌دهد. متن باید داخل کوتیشن قرار بگیرد.04قواعد نوشتن کد و تورفتگیپایتون به تورفتگی حساس است؛ فاصله‌ها بخشی از ساختار برنامه هستند.05کامنت و توضیح کدکامنت با # برای توضیح تصمیم‌هاست و توسط مفسر اجرا نمی‌شود.06متغیر چیست؟متغیر نامی برای ارجاع به یک مقدار است؛ مقدار متغیر را می‌توان دوباره تغییر داد.07نام‌گذاری متغیرهانام‌ها باید معنادار باشند و قواعد شناسه‌ها را رعایت کنند؛ از نام‌های مبهم دوری کن.08انواع داده: عدد و متنint و float برای اعداد و str برای متن استفاده می‌شوند. نوع داده روی عملیات مجاز اثر می‌گذارد.09مقادیر بولیTrue و False مقدارهای منطقی‌اند و در شرط‌ها کاربرد دارند.10تبدیل نوع دادهint() و float() و str() برای تبدیل سازگار داده‌ها به کار می‌روند.11ورودی با inputinput() ورودی را به شکل متن می‌گیرد؛ برای محاسبه باید نوع مناسب بسازی.12عملگرهای ریاضیجمع، تفریق، ضرب، تقسیم، تقسیم صحیح، باقیمانده و توان را تمرین کن.13اولویت عملگرهاپرانتز ترتیب محاسبات را روشن می‌کند و از ابهام جلوگیری می‌کند.14رشته‌ها و کوتیشنرشته می‌تواند با کوتیشن تکی یا دوتایی نوشته شود؛ کوتیشن‌ها باید جفت باشند.15ترکیب رشته‌هامی‌توان متن‌ها را ترکیب کرد؛ برای مقدارهای مختلف، f-string خواناتر است.16متدهای رشتهlower، upper، strip و replace برای پاک‌سازی و تغییر متن مفیدند.17اندیس و برش رشتهاندیس از صفر شروع می‌شود؛ برش برای گرفتن بخشی از متن استفاده می‌شود.18شرط ifبدنه if فقط وقتی اجرا می‌شود که شرط درست باشد.19else و دو مسیر تصمیمelse مسیر جایگزین برای وقتی شرط برقرار نیست فراهم می‌کند.20elif و چند شرطelif برای بررسی چند حالت به‌ترتیب استفاده می‌شود؛ ترتیب شرط‌ها اهمیت دارد.21عملگرهای مقایسه==، !=، <، >، <= و >= دو مقدار را مقایسه می‌کنند.22and و or و notعملگرهای منطقی چند شرط را ترکیب یا معکوس می‌کنند.23حلقه whilewhile تا وقتی شرط درست است تکرار می‌کند؛ شرط پایان را دقیق طراحی کن.24حلقه forfor روی اعضای یک دنباله حرکت می‌کند و برای تکرار مشخص مناسب است.25تابع rangerange برای تولید دنباله اعداد است؛ حد بالا در آن وارد نمی‌شود.26break و continuebreak حلقه را متوقف می‌کند و continue به تکرار بعدی می‌رود.27حلقه تو در توحلقه‌ای داخل حلقه دیگر برای الگوهای دوبعدی یا ترکیب‌ها به کار می‌رود.28تابع و دلیل استفاده از آنتابع یک کار را در بلوکی قابل استفاده مجدد جمع می‌کند.29پارامتر و آرگومانپارامتر نام ورودی در تعریف تابع است و آرگومان مقدار واقعی هنگام فراخوانی.30return و خروجی تابعreturn نتیجه را به فراخواننده برمی‌گرداند؛ print فقط نمایش می‌دهد.31مقدار پیش‌فرض پارامترپارامتر پیش‌فرض، استفاده از تابع را ساده‌تر می‌کند.32دامنه متغیرهامتغیر محلی داخل تابع تعریف می‌شود؛ از وابستگی بی‌دلیل به متغیر سراسری پرهیز کن.33لیست چیست؟لیست مجموعه‌ای مرتب و قابل‌تغییر از مقدارهاست.34دسترسی و تغییر اعضای لیستاندیس‌گذاری برای خواندن یا تغییر یک عضو لیست به کار می‌رود.35افزودن و حذف عضو لیستappend و insert برای افزودن و remove و pop برای حذف کاربرد دارند.36پیمایش لیست با forحلقه برای بررسی یا پردازش تک‌تک اعضای لیست استفاده می‌شود.37مرتب‌سازی و کپی لیستsort لیست را مرتب می‌کند؛ copy برای ساخت نسخه مستقل کاربرد دارد.38تاپل و تفاوت آن با لیستتاپل مرتب است اما معمولاً پس از ساخت تغییر نمی‌کند.39مجموعه setمجموعه اعضای یکتا نگه می‌دارد و برای حذف تکراری‌ها مناسب است.40دیکشنریدیکشنری داده‌ها را به صورت کلید و مقدار نگه می‌دارد.41کار با کلیدهای دیکشنریget، keys، values و items برای دسترسی امن و پیمایش مفیدند.42لیست‌های تو در تولیست می‌تواند لیست‌های دیگری را نگه دارد و داده جدولی بسازد.43درک مطلب لیست (Comprehension)عبارت فشرده‌ای برای ساخت لیست از یک دنباله با تبدیل یا شرط است.44ماژول و importماژول کدهای آماده را گروه‌بندی می‌کند؛ import قابلیت‌های آن را وارد می‌کند.45ماژول randomrandom برای انتخاب تصادفی و ساخت تمرین‌های ساده کاربرد دارد.46تاریخ و زمانماژول datetime برای تاریخ، زمان و محاسبه فاصله‌ها استفاده می‌شود.47خواندن فایل متنیopen و حالت خواندن برای دریافت متن از فایل استفاده می‌شود؛ مسیر فایل را درست انتخاب کن.48نوشتن در فایلحالت نوشتن ممکن است محتوای قبلی را جایگزین کند؛ append برای افزودن است.49مدیریت امن فایل با withwith فایل را پس از پایان بلوک می‌بندد و کد را مطمئن‌تر می‌کند.50خطاهای رایج و tracebackپیام خطا معمولاً نوع خطا و محل وقوع را نشان می‌دهد؛ از آخرین خط شروع کن.51try و exceptمدیریت استثنا از متوقف‌شدن ناگهانی برنامه برای خطاهای قابل پیش‌بینی جلوگیری می‌کند.52اعتبارسنجی ورودیپیش از پردازش، خالی‌بودن، نوع و محدوده ورودی را بررسی کن.53برنامه‌نویسی شی‌گرا: مفهوم کلاسکلاس الگوی ساخت شیء است و داده و رفتار مرتبط را کنار هم می‌آورد.54ساخت شیء و __init__سازنده __init__ هنگام ساخت شیء اجرا می‌شود و ویژگی‌های اولیه را تنظیم می‌کند.55متدهای نمونهمتدها رفتار شیء را تعریف می‌کنند و self به همان نمونه اشاره دارد.56کپسوله‌سازی مقدماتیطراحی کلاس باید جزئیات داخلی را مدیریت کند و رابط روشن ارائه دهد.57وراثتکلاس فرزند می‌تواند رفتار کلاس پایه را گسترش دهد؛ وراثت را فقط در رابطه منطقی به کار ببر.58بازنویسی متدکلاس فرزند می‌تواند رفتار متد والد را متناسب با نیاز خود تغییر دهد.59نوع‌نویسی و خواناییراهنمای نوع (type hints) هدف ورودی و خروجی را روشن می‌کند، هرچند پایتون همچنان پویاست.60دکوراتور و آشنایی اولیهدکوراتور رفتار تابع را بدون تغییر مستقیم بدنه آن گسترش می‌دهد.61تابع lambdalambda برای تابع‌های کوچک و کوتاه، معمولاً همراه sort یا ابزارهای دیگر استفاده می‌شود.62توابع map و filterاین توابع روی مجموعه‌ها تبدیل یا فیلتر انجام می‌دهند؛ comprehension گاهی خواناتر است.63مولدها و yieldمولدها مقادیر را به‌تدریج تولید می‌کنند و می‌توانند حافظه را بهینه کنند.64کار با JSONJSON قالبی متنی برای تبادل داده ساخت‌یافته است و در پایتون با json پردازش می‌شود.65مسیر فایل و pathlibpathlib مسیرها را خواناتر و مستقل‌تر از سیستم‌عامل مدیریت می‌کند.66آزمون واحد مقدماتیآزمون واحد رفتار تابع را با ورودی‌های مشخص بررسی می‌کند و جلوی بازگشت خطا را می‌گیرد.67تجزیه مسئله به توابعتقسیم برنامه به توابع کوچک خوانایی، آزمون‌پذیری و نگهداری را بهتر می‌کند.68الگوریتم جست‌وجوی خطیجست‌وجوی خطی اعضا را یکی‌یکی بررسی می‌کند و برای داده کوچک ساده است.69مرتب‌سازی: ایده و مقایسهمرتب‌سازی ترتیب داده را تغییر می‌دهد؛ روش‌های مختلف هزینه زمانی متفاوتی دارند.70پروژه نهایی: مدیریت کارهادر پروژه نهایی ورودی، لیست، تابع، فایل و اعتبارسنجی را ترکیب می‌کنی.