هوش مصنوعی تحلیل کد کد، خطا و مشکلات برنامه‌نویسی را بررسی کن و راهکار دقیق بگیر.
🤖 تحلیل کد 🐞 رفع خطا 💡 پیشنهاد راهکار
ورود به هوش مصنوعی
قیمت‌یار هوشمند قیمت واقعی را پیدا کن؛ مقایسه کن، روند قیمت را ببین و بهترین گزینه را انتخاب کن.
🚗 خودرو 🏠 ملک 💻 لپ‌تاپ 📺 دیجیتال
ورود به قیمت‌یار
دوره آموزشی تخصصی آموزش جامع پایتون؛ از مبانی تا پروژه
یادگیری پروژه‌محور
آموزش جامع پایتون؛ از مبانی تا پروژه
دوره آموزشی
اطلاعات دوره آموزشی

آموزش جامع پایتون؛ از مبانی تا پروژه

ثبت‌نام آنلاین دوره
ابتدا حساب کاربری خود را بسازید؛ سپس از پروفایل کلاس مرتبط با این دوره را انتخاب می‌کنید.

از اولین خط کد تا ساخت یک پروژه کامل با Python؛ مسیری که در آن هر مفهوم جای مشخصی دارد و هیچ‌جا رها نمی‌شوید.

مدرس قربانی
سطح مقدماتی تا متوسط
قیمت 15,000,000 تومان

سرفصل جلسات دوره

15 جلسه

<div class='lesson-rich-content'> <h2>جلسه 1: قبل از نوشتن اولین خط، محیط را آماده کنیم</h2> <h3>تمرکز جلسه</h3> <p> نصب پایتون، انتخاب ادیتور، اجرای اولین اسکریپت و شناخت تفاوت Shell با فایل. </p> <h3>چرا این مبحث مهم است؟</h3> <p> اگر محیط اجرا و ساختار فایل‌ها را درست درک نکنید، در ادامه هنگام خطاهای اجرایی نمی‌دانید مشکل از کد است یا از محیط. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> یک پوشه پروژه بسازید، یک فایل ساده بنویسید، از ترمینال اجرا کنید و خروجی را ببینید. </p> <h3>اشتباه رایج</h3> <p> شروع کدنویسی بدون تنظیم محیط و بدون virtual environment باعث می‌شود وابستگی‌های پروژه به‌هم بریزد. </p> <h3>چالش جلسه</h3> <p> یک پروژه کوچک بسازید، آن را در virtual environment اجرا کنید و تفاوت اجرای مستقیم و اجرا از ترمینال را ثبت کنید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 2: متغیر، نوع داده و اولین تعامل با کاربر</h2> <h3>تمرکز جلسه</h3> <p> عدد، رشته، Boolean و تبدیل نوع؛ همان چیزهایی که هر برنامه واقعی با آن‌ها سروکار دارد. </p> <h3>چرا این مبحث مهم است؟</h3> <p> انتخاب نوع داده و تبدیل درست آن روی رفتار برنامه و کیفیت اعتبارسنجی اثر مستقیم دارد. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> برنامه‌ای بنویسید که نام، سن و شهر کاربر را بگیرد، اعتبارسنجی کند و یک پیام خوش‌آمد سفارشی بسازد. </p> <h3>اشتباه رایج</h3> <p> استفاده از رشته برای همه چیز و تبدیل‌های ناایمن ورودی باعث می‌شود خطاهای پنهان در منطق برنامه ایجاد شود. </p> <h3>چالش جلسه</h3> <p> برنامه‌ای بسازید که سه ورودی مختلف بگیرد و هر کدام را با نوع مناسب پردازش و نمایش دهد. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 3: تصمیم‌گیری در کد؛ وقتی برنامه باید انتخاب کند</h2> <h3>تمرکز جلسه</h3> <p> if، elif، else و ترکیب شرط‌ها برای ساختن منطق واقعی. </p> <h3>چرا این مبحث مهم است؟</h3> <p> بخش بزرگی از منطق کسب‌وکار از تصمیم‌ها ساخته می‌شود و کیفیت شرط‌ها روی نگهداری اثر دارد. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> یک سیستم تخفیف بسازید که بر اساس مبلغ خرید و وضعیت مشتری، درصد تخفیف را محاسبه کند. </p> <h3>اشتباه رایج</h3> <p> شرط‌های تو در تو و تکرار منطق مشابه در چند جای برنامه باعث می‌شود تغییر یک قانون، چند نقطه را تحت تأثیر قرار دهد. </p> <h3>چالش جلسه</h3> <p> سیستم تخفیفی با سه قانون مستقل طراحی کنید که هرکدام جداگانه قابل تست باشد. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 4: تکرار بدون خستگی؛ حلقه‌ها در عمل</h2> <h3>تمرکز جلسه</h3> <p> for، while، break و continue؛ انتخاب حلقه مناسب برای هر موقعیت. </p> <h3>چرا این مبحث مهم است؟</h3> <p> تقریباً هر برنامه واقعی با مجموعه‌ای از داده‌ها کار می‌کند و پیمایش صحیح آن‌ها یک مهارت پایه است. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> نمرات چند دانش‌آموز را پردازش کنید و میانگین، بالاترین نمره و تعداد قبولی‌ها را گزارش دهید. </p> <h3>اشتباه رایج</h3> <p> استفاده از حلقه‌های پیچیده برای کاری که با پیمایش ساده قابل حل است، خوانایی را کاهش می‌دهد. </p> <h3>چالش جلسه</h3> <p> برنامه‌ای بنویسید که یک منوی متنی داشته باشد و تا خروج کاربر ادامه دهد. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 5: لیست و تاپل؛ وقتی داده ترتیب دارد</h2> <h3>تمرکز جلسه</h3> <p> ساخت، پیمایش، جست‌وجو و تغییر مجموعه‌های ترتیبی. </p> <h3>چرا این مبحث مهم است؟</h3> <p> انتخاب ساختار داده ترتیبی مناسب، منطق برنامه را ساده‌تر و خواناتر می‌کند. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> فهرست خرید یک خانواده را مدیریت کنید؛ آیتم اضافه کنید، حذف کنید و اقلام تکراری را پیدا کنید. </p> <h3>اشتباه رایج</h3> <p> تغییر تاپل‌ها به‌جای استفاده از ساختار مناسب برای داده‌هایی که باید تغییر کنند. </p> <h3>چالش جلسه</h3> <p> یک فهرست خرید بسازید که از افزودن، حذف و جست‌وجو پشتیبانی کند و در برابر ورودی تکراری رفتار مشخصی داشته باشد. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 6: دیکشنری؛ وقتی داده با کلید شناخته می‌شود</h2> <h3>تمرکز جلسه</h3> <p> ساختار کلید-مقدار، پیمایش، جست‌وجو و داده‌های تو در تو. </p> <h3>چرا این مبحث مهم است؟</h3> <p> بسیاری از داده‌های واقعی با یک کلید مشخص شناخته می‌شوند و انتخاب Dictionary می‌تواند کد را بسیار ساده‌تر کند. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> دفترچه تلفن ساده بسازید که هر مخاطب چند شماره داشته باشد و بشود جست‌وجو و ویرایش کرد. </p> <h3>اشتباه رایج</h3> <p> استفاده از لیست‌های موازی برای داده‌های کلید-مقدار که باعث پیچیدگی و خطا در نگهداری می‌شود. </p> <h3>چالش جلسه</h3> <p> دفترچه تلفنی بسازید که هر مخاطب چند شماره داشته باشد و جست‌وجو بر اساس نام انجام شود. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 7: توابع؛ کد را به قطعه‌های قابل استفاده تقسیم کنیم</h2> <h3>تمرکز جلسه</h3> <p> تعریف تابع، پارامتر، return، scope و شکستن مسئله به بخش‌های کوچک. </p> <h3>چرا این مبحث مهم است؟</h3> <p> توابع کوچک و هدفمند باعث می‌شوند کد تست‌پذیرتر و قابل استفاده مجدد شود. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> یک ماشین‌حساب مالی بنویسید که هر عملیاتش یک تابع مستقل باشد و برای ورودی مرزی رفتار مشخص داشته باشد. </p> <h3>اشتباه رایج</h3> <p> توابع بزرگ با چند مسئولیت که در طول زمان به نقاط پرریسک پروژه تبدیل می‌شوند. </p> <h3>چالش جلسه</h3> <p> یک عملیات مالی چندمرحله‌ای را به توابع کوچک با مسئولیت مشخص تقسیم کنید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 8: ماژول‌ها؛ پروژه را از یک فایل بزرگ نجات دهیم</h2> <h3>تمرکز جلسه</h3> <p> import، ساخت فایل‌های جداگانه و جداسازی مسئولیت‌ها. </p> <h3>چرا این مبحث مهم است؟</h3> <p> ساختاردهی مناسب پروژه از همان ابتدا هزینه تغییر و نگهداری را کاهش می‌دهد. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> پروژه جلسات قبل را به سه فایل input، logic و report تقسیم کنید و وابستگی‌ها را ساده نگه دارید. </p> <h3>اشتباه رایج</h3> <p> قرار دادن همه منطق در یک فایل که با رشد پروژه به یک فایل غیرقابل نگهداری تبدیل می‌شود. </p> <h3>چالش جلسه</h3> <p> پروژه را به ماژول‌های مستقل تقسیم کنید و مشخص کنید هر ماژول چه مسئولیتی دارد. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 9: فایل؛ ذخیره و بازیابی داده بین اجراها</h2> <h3>تمرکز جلسه</h3> <p> خواندن، نوشتن، encoding و مسیرها؛ همان چیزهایی که در پروژه واقعی زیاد پیش می‌آید. </p> <h3>چرا این مبحث مهم است؟</h3> <p> پروژه‌های واقعی معمولاً باید داده را بین اجراها حفظ کنند و کار با فایل اولین قدم در این مسیر است. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> یک فایل متنی از تراکنش‌ها بسازید، آن را بخوانید، تراکنش‌های نامعتبر را جدا کنید و نسخه تمیز را ذخیره کنید. </p> <h3>اشتباه رایج</h3> <p> نادیده گرفتن encoding یا ساخت مسیر با رشته‌های ثابت که روی سیستم‌های مختلف خطا ایجاد می‌کند. </p> <h3>چالش جلسه</h3> <p> برنامه‌ای بسازید که داده تراکنش‌ها را از فایل بخواند و نسخه پاک‌سازی‌شده را ذخیره کند. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 10: خطا؛ وقتی برنامه غافلگیر می‌شود</h2> <h3>تمرکز جلسه</h3> <p> Exception handling، انتخاب نوع خطا و جلوگیری از شکست برنامه. </p> <h3>چرا این مبحث مهم است؟</h3> <p> مدیریت خطا بخشی از طراحی نرم‌افزار است و روی تجربه کاربر و قابلیت پشتیبانی اثر مستقیم دارد. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> فرم ثبت سفارش را طوری بنویسید که ورودی غیرعددی، فایل نبود و داده خالی، هر کدام پیام مشخص خودشان را بدهند. </p> <h3>اشتباه رایج</h3> <p> گرفتن همه خطاها با یک except عمومی که علت واقعی مشکل را پنهان می‌کند. </p> <h3>چالش جلسه</h3> <p> چند سناریوی خطای متفاوت تعریف کنید و برای هرکدام پیام و رفتار مشخصی طراحی کنید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 11: شیءگرایی؛ مدل‌سازی دنیای واقعی در کد</h2> <h3>تمرکز جلسه</h3> <p> Class، object، property، method و مسئولیت هر کلاس. </p> <h3>چرا این مبحث مهم است؟</h3> <p> وقتی داده و رفتار مرتبط با آن در یک مدل قرار بگیرد، کد بسیار خواناتر و قابل نگهداری‌تر می‌شود. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> کلاس‌های User و Transaction را طراحی کنید و یک گردش مالی ساده بین آن‌ها را پیاده کنید. </p> <h3>اشتباه رایج</h3> <p> ساخت کلاس‌هایی که فقط چند property عمومی دارند و هیچ مسئولیتی در قبال قواعد دامنه ندارند. </p> <h3>چالش جلسه</h3> <p> مدل تراکنش را طوری طراحی کنید که تغییر وضعیت آن فقط از مسیرهای معتبر انجام شود. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 12: ارث‌بری یا ترکیب؟ انتخاب درست در طراحی</h2> <h3>تمرکز جلسه</h3> <p> مقایسه inheritance و composition و جلوگیری از سلسله‌مراتب بی‌دلیل عمیق. </p> <h3>چرا این مبحث مهم است؟</h3> <p> انتخاب درست بین ارث‌بری و ترکیب روی انعطاف‌پذیری و قابلیت نگهداری سیستم اثر مستقیم دارد. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> انواع گزارش را مدل کنید؛ یک گزارش جدید اضافه کنید بدون اینکه منطق گزارش‌های قبلی دست بخورد. </p> <h3>اشتباه رایج</h3> <p> استفاده افراطی از ارث‌بری برای حذف چند خط کد که ساختار برنامه را پیچیده‌تر می‌کند. </p> <h3>چالش جلسه</h3> <p> دو نوع گزارش جدید طراحی کنید و مشخص کنید کدام با ارث‌بری و کدام با ترکیب بهتر پیاده می‌شود. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 13: کار با داده جدولی؛ اولین قدم با Pandas</h2> <h3>تمرکز جلسه</h3> <p> خواندن CSV، فیلتر، groupby و خلاصه‌سازی داده. </p> <h3>چرا این مبحث مهم است؟</h3> <p> کار با داده جدولی در پروژه‌های واقعی بسیار رایج است و Pandas ابزار پایه آن محسوب می‌شود. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> یک فایل فروش را بخوانید و فروش هر دسته، هر ماه و پرفروش‌ترین محصول را استخراج کنید. </p> <h3>اشتباه رایج</h3> <p> بارگذاری داده بدون بررسی ساختار و نوع ستون‌ها که باعث خطاهای پنهان در ادامه تحلیل می‌شود. </p> <h3>چالش جلسه</h3> <p> یک فایل فروش را تحلیل کنید و سه گزارش مدیریتی از آن استخراج کنید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 14: تست و بازبینی؛ قبل از تحویل، کد را جدی بگیریم</h2> <h3>تمرکز جلسه</h3> <p> نوشتن تست برای توابع کلیدی، نام‌گذاری درست و بازبینی کد. </p> <h3>چرا این مبحث مهم است؟</h3> <p> تست و بازبینی به ما کمک می‌کند تغییرات بعدی رفتار قبلی برنامه را خراب نکنند. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> برای چند تابع اصلی پروژه تست بنویسید و یک بازبینی واقعی روی کد خودتان انجام دهید. </p> <h3>اشتباه رایج</h3> <p> نوشتن تست فقط برای مسیرهای موفق و نادیده گرفتن سناریوهای مرزی و ورودی‌های غیرمنتظره. </p> <h3>چالش جلسه</h3> <p> برای چند تابع کلیدی حداقل سه تست بنویسید و سناریوهای مرزی را پوشش دهید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.

<div class='lesson-rich-content'> <h2>جلسه 15: پروژه نهایی؛ از صفر تا یک سامانه مالی</h2> <h3>تمرکز جلسه</h3> <p> اتصال همه مفاهیم در یک پروژه واحد و تصمیم‌گیری فنی. </p> <h3>چرا این مبحث مهم است؟</h3> <p> پروژه نهایی نشان می‌دهد آیا می‌توانید مفاهیم مختلف را به یک سیستم منسجم تبدیل کنید یا فقط هر مبحث را جدا یاد گرفته‌اید. </p> <h3>در عمل چه کار می‌کنیم؟</h3> <p> سامانه مدیریت مالی شخصی را کامل کنید؛ از ساختار پوشه‌ها و ذخیره‌سازی تا گزارش‌گیری و مدیریت خطا، و آن را مستند تحویل دهید. </p> <h3>اشتباه رایج</h3> <p> تمرکز صرف بر اجرای پروژه و بی‌توجهی به ساختار، خوانایی و قابلیت توسعه. </p> <h3>چالش جلسه</h3> <p> سامانه را کامل کنید، چند سناریوی واقعی برای آن تعریف کنید و تصمیم‌های فنی اصلی را مستند کنید. </p> <h3>ارتباط با پروژه نهایی</h3> <p> این مبحث در ادامه دوره در پروژه نهایی استفاده می‌شود. هدف این است که مفهوم جلسه فقط به یک مثال آموزشی محدود نماند و بتوانید آن را در یک مسئله واقعی به کار بگیرید. </p> </div>

ویدئو هنوز آماده نشده است ویدئوی آموزشی این جلسه به‌زودی اضافه خواهد شد.