اگر شما یک دانشجو یا متخصص در حوزههای مهندسی هستهای، محاسبات عددی، پردازش تصویر یا شبیهسازی مونت کارلو هستید، این دوره دقیقاً برای شما طراحی شده است. برخلاف بسیاری از دورههای عمومی پایتون که ساعتها به آموزش مفاهیم پایه میپردازند، این آموزش به صورت فشرده و کاملاً کاربردی شما را مستقیماً به سمت مهارتهایی هدایت میکند که در پروژههای واقعی به آن نیاز دارید.
در این دوره چه میآموزید؟
این دوره به شکلی طراحی شده که در زمان کمتری، بیشترین بازدهی را داشته باشید. شما از نصب پایتون و محیط توسعه حرفهای (VS Code) شروع میکنید، به سرعت با دستورات شرطی، حلقهها و ساختار دادهها آشنا میشوید و سپس مستقیماً به سراغ مباحث پیشرفتهتری میروید که برای یک مهندس ضروری است:
-
کار حرفهای با فایلهای متنی و اکسل
-
ایجاد نمودارها و پلاتهای حرفهای برای تحلیل داده
-
پردازش تصویر و کار با دادههای بصری
مخاطب این دوره کیست؟
این دوره برای افرادی مناسب است که:
-
دانشجویان یا فارغالتحصیلان مهندسی هستهای، مکانیک، برق، کامپیوتر و سایر رشتههای مهندسی هستند.
-
نیاز به استفاده از پایتون برای شبیهسازی، تحلیل دادههای عددی یا پردازش تصویر دارند.
-
به دنبال یک دوره کاربردی، فشرده و بدون حاشیه هستند تا به سرعت پایتون را در کار خود به کار بگیرند.
ویژگی متمایز این دوره:
ما در این دوره از پرداختن به مباحث غیرضروری که در حوزه کاری شما کاربردی ندارند، خودداری کردهایم. تمامی مثالها و پروژهها حول محور نیازهای واقعی یک مهندس طراحی شدهاند.
آماده اید؟ اولین گام برای تسلط بر پایتون را بردارید و این زبان قدرتمند را به ابزاری تبدیل کنید که کارهایتان را سادهتر و حرفهایتر کند.
سرفصل های دوره
سرفصلهای جلسه اول: آشنایی با پایتون و راهاندازی محیط توسعه
- معرفی دوره و هدفگذاری
- هدف: آموزش فشرده پایتون برای دانشجویان رشتههای خاص (محاسبات عددی، هستهای، مونت کارلو، پردازش تصویر)
- تمرکز بر مباحث کاربردی و ضروری برای این حوزهها و پرهیز از پرداختن به مباحث غیرمرتبط.
- نصب پایتون
- نحوه جستجو و دانلود پایتون از سایت رسمی (python.org).
- توضیح مراحل نصب و نکته کلیدی: انتخاب گزینه "Add Python to PATH".
- اجرای اولین دستورات در محیط تعاملی (Interactive Mode)
- نحوه باز کردن ترمینال یا Command Prompt.
- فراخوانی پایتون با دستور python و مشاهده نسخه.
- انجام عملیات پایه ریاضی (مانند 1+1) و تعریف متغیرها.
- معایب این محیط: از بین رفتن دادهها با بستن ترمینال.
- معرفی محیطهای توسعه (Development Environments)
- ضرورت استفاده از یک محیط توسعه برای پروژههای بلندمدت.
- معرفی محیطهای ساده مانند Notepad++.
- معرفی محیط حرفهای Visual Studio Code (VS Code).
- راهاندازی پایتون در VS Code
- نحوه ایجاد پوشه و باز کردن آن در VS Code.
- ایجاد فایل با پسوند .py.
- نصب افزونه (Extension) پایتون برای فعالسازی امکاناتی مانند هایلایت کردن syntax، راهنمای هوشمند (IntelliSense) و دیباگ.
- اجرای اولین اسکریپت پایتون در VS Code
- نوشتن دستورات ساده (تعریف متغیر و تابع print).
- نحوه اجرای کد و مشاهده خروجی در ترمینال داخلی VS Code.
- مزایای استفاده از VS Code: نمایش خطاها، راهنمای پارامترهای توابع و ذخیرهسازی خودکار.
- آشنایی با انواع دادهها (Data Types) در پایتون
- معرفی انواع دادهی پایه: اعداد صحیح (int)، اعداد اعشاری (float)، رشته (str) و布尔 (bool).
- معرفی انواع دادهی ساختاریافته: لیست (list)، تاپل (tuple)، دیکشنری (dict) و مجموعه (set).
- آشنایی با توابع مفید اولیه
- تابع type() برای تشخیص نوع داده یک متغیر.
- تابع len() برای اندازهگیری طول یک ساختار داده (مانند لیست یا رشته).
- تبدیل انواع داده (Type Casting) با توابعی مانند str(), int(), list().
- عملیات پایه ریاضی
- معرفی عملگرهای اصلی: جمع (+), تفریق (-), ضرب (*), تقسیم (/).
- معرفی عملگرهای پیشرفتهتر: تقسیم صحیح (//), باقیمانده (%), توان (**).
- جمعبندی و پیشنمایش جلسات آینده
- تاکید بر اهمیت تمرین عملی.
- معرفی مباحث جلسات آینده: دستورات شرطی (if), حلقهها (for, while), کار با فایلها، نصب کتابخانهها و پردازش تصویر.
سرفصلهای جلسه دوم: دستورات شرطی
- مقدمهای بر دستورات شرطی
- کاربرد دستورات شرطی: اجرای کدهای مختلف در شرایط مختلف.
- معرفی ساختار کلی: if، elif و else.
- ساختار بلوکها و تو رفتگی (Indentation) در پایتون
- اهمیت "تو رفتگی" (Indentation) برای تعیین بلوکهای کد.
- نحوه تشخیص محدوده دستورات شرطی توسط پایتون بر اساس تو رفتگی.
- خطاهای رایج در صورت رعایت نکردن تو رفتگی.
- عملگرهای مقایسهای و منطقی
- معرفی عملگر تساوی (==) و تفاوت آن با عملگر انتساب (=).
- کاربرد عملگرهای مقایسهای برای سنجش شرایط.
- مثال اول: تشخیص زوج یا فرد بودن یک عدد
- دریافت عدد از کاربر.
- استفاده از عملگر باقیمانده (%) برای بررسی بخشپذیری بر ۲.
- استفاده از ساختار if...else برای چاپ نتیجه.
- نمایش خروجی با استفاده از (f-string) برای قراردادن مقدار متغیر در رشته.
- مثال دوم: سیستم تعیین نمره (Grade)
- دریافت نمره از کاربر و تبدیل آن به عدد صحیح (int).
- استفاده از ساختار if...elif...else برای بررسی بازههای مختلف نمره.
- چک کردن چندین شرط به صورت زنجیرهای.
- عیبیابی خطاهای احتمالی (مانند خطای تو رفتگی).
- مثال سوم: ماشین حساب ساده
- نمایش منو به کاربر برای انتخاب عملگر (جمع، تفریق، ضرب، تقسیم).
- دریافت دو عدد از کاربر.
- استفاده از ساختار if...elif...else برای هدایت عملیات بر اساس انتخاب کاربر.
- مدیریت خطا: چک کردن تقسیم بر صفر با استفاده از دستور شرطی.
- افزودن قابلیتهای پیشرفته به ماشین حساب
- اضافه کردن عملگر توان (**).
- زیباسازی خروجی و نمایش فرمول عملیات به کاربر.
- استفاده از f-string برای قالببندی پیشرفته خروجی.
- جمعبندی و نکات پایانی
- تأکید بر اهمیت و کاربرد فراوان دستورات شرطی در تمامی برنامهها.
- پیشنمایش جلسه آینده: حلقهها (Loops) برای تکرار عملیات.
سرفصلهای جلسه سوم: حلقهها و کنترل جریان
- مقدمهای بر حلقهها (Loops)
- کاربرد حلقهها: تکرار یک عملیات تا رسیدن به یک شرط خاص.
- معرفی دو نوع حلقه اصلی: for و while.
- حلقه for و تابع range()
- ساختار حلقه for برای تکرار بر روی یک دنباله.
- معرفی تابع range(start, stop, step) برای تولید دنبالهای از اعداد.
- مثال: چاپ اعداد از 1 تا 10.
- مثال: چاپ اعداد فرد از 1 تا 10 با استفاده از range(1, 11, 2).
- حلقه while
- ساختار حلقه while برای تکرار تا زمانی که یک شرط برقرار باشد.
- مثال: جمع کردن اعداد وارد شده توسط کاربر تا زمانی که عدد منفی وارد نشود.
- معرفی عملگر += برای افزایش مقدار یک متغیر.
- کنترل جریان در حلقهها
- دستور break برای خروج کامل از حلقه.
- دستور continue برای رد کردن بقیه دستورات در iteration جاری و رفتن به iteration بعدی.
- مثال کاربردی: استفاده از break در حلقه while با ورود عدد منفی.
- حلقههای تو در تو (Nested Loops)
- مفهوم قرارگیری یک حلقه در درون حلقه دیگر.
- مثال: تولید و چاپ تمام اعداد اول در یک بازه مشخص (مانند 1 تا 50).
- منطق تشخیص عدد اول: بررسی بخشپذیری بر اعداد کوچکتر از خود.
- مدیریت خطا (Error Handling) مقدماتی
- استفاده از ساختار try...except برای مدیریت خطاهای احتمالی.
- جلوگیری از crash کردن برنامه در صورت بروز خطا.
- اهمیت مدیریت خطا در پروژههای بزرگ.
- ترکیب حلقهها و دستورات شرطی
- استفاده از if و else در درون حلقهها.
- مثال: برنامه چاپ جدول ضرب (پیشنهاد برای تمرین).
- توانایی پیادهسازی شرایط پیچیده با ترکیب این ابزارها.
- جمعبندی و نکات پایانی
- تأکید بر اهمیت حلقهها در خودکارسازی عملیات تکراری.
- کاربرد for برای تکیر بر روی اشیاء قابل پیمایش (Iterable).
- کاربرد while برای تکرار when the number of iterations is not known beforehand.
- پیشنهاد تمرین عملی برای تسلط بیشتر.
سرفصلهای جلسه چهارم: کار با فایلها، دادهها و نمودارها
- مقدمه و هدف جلسه
- حرکت از مفاهیم پایه به سمت کاربردهای عملی (محاسبات عددی، پردازش تصویر).
- معرفی موضوع جلسه: کار با فایلها، کتابخانهها و رسم نمودار.
- نصب کتابخانههای ضروری
- ضرورت نصب کتابخانههای خارجی برای گسترش قابلیتهای پایتون.
- معرفی کتابخانههای کلیدی: NumPy, Pandas, Openpyxl, Matplotlib.
- نحوه نصب کتابخانهها با استفاده از pip در ترمینال.
- تأیید نصب موفقیتآمیز کتابخانهها.
- کار با فایلهای متنی (Text Files)
- باز کردن فایل با تابع open() و مدیریت خطا با try...except.
- خواندن محتوای فایل به روشهای مختلف: read(), readlines().
- پردازش خط به خط دادهها و تبدیل آن به ساختار ماتریس (لیستهای تو در تو).
- استفاده از متدهای .strip() و .split() برای پاکسازی و جداسازی دادهها.
- ایجاد و نوشتن در فایلهای متنی
- ایجاد و باز کردن فایل جدید برای نوشتن با حالت 'w'.
- تبدیل ساختارهای داده (مانند ماتریس) به رشته و نوشتن در فایل.
- کنترل فرمت خروجی و درج کاراکتر جدید خط (\n).
- کار با فایلهای اکسل (Excel Files) با Pandas
- معرفی کتابخانه Pandas برای کار با دادههای جدولی.
- ایجاد DataFrame از یک دیکشنری.
- ذخیره DataFrame در فایل اکسل با استفاده از تابع to_excel().
- خواندن داده از فایل اکسل با استفاده از تابع read_excel().
- رسم نمودار (Plotting) با Matplotlib
- معرفی کتابخانه Matplotlib برای مصورسازی داده.
- ایجاد نمودارهای ساده از دادههای آرایهای.
- ساخت چندین نمودار (Subplots) در یک پنجره.
- تنظیمات ظاهری نمودار (عنوان، برچسب محورها).
- ذخیره نمودارها به عنوان فایل تصویری
- ذخیره نمودار در قالبهای مختلف (مانند PNG، PDF) با استفاده از savefig().
- تنظیم پارامترهای ذخیرهسازی مانند کیفیت (dpi) و حاشیهها (bbox_inches).
- جمعبندی و نکات پایانی
- مرور کلی مباحث: کار با فایلهای متنی، اکسل و رسم نمودار.
- تأکید بر اهمیت تمرین عملی و بررسی کدهای نمونه برای تسلط.
- نمایش امکان ذخیره مستقیم نمودار از محیط توسعه (IDE).
سرفصلهای جلسه پنجم: رسم نمودارهای پیشرفته و تنظیمات بصری
- مقدمه و هدف جلسه
- تمرکز بر یادگیری روشهای مختلف رسم نمودار (Plotting) برای نمایش دادهها.
- هدف: تسلط بر ابزارهای مصورسازی برای استفاده در محاسبات عددی و پردازش داده.
- نمودار دایرهای (Pie Chart)
- ایجاد نمودار دایرهای با استفاده از plt.pie().
- تعریف دادههای ورودی (لیست مقادیر) و برچسبها (Labels).
- تنظیمات ظاهری:
- سایه (Shadow)
- زاویه شروع (Startangle)
- جدا کردن برشها (Explode)
- تنظیمات متنی و نوشتهها در نمودار
- استفاده از autotexts برای نمایش خودکار مقادیر روی نمودار دایرهای.
- تنظیم خصوصیات فونت (Font Properties) از طریق یک دیکشنری:
- اندازه فونت (fontsize)
- رنگ (color)
- وزن (weight)
- تنظیم موقعیت و محل قرارگیری نوشتهها (Location).
- نمودار خطی (Line Plot) و تنظیمات محورها
- ایجاد نمودار خطی با plt.plot().
- تنظیم محدوده محورها با plt.xlim() و plt.ylim().
- اضافه کردن خطوط محور (Grid) برای خوانایی بهتر.
- نمایش چند نمودار در کنار هم (Subplots)
- ایجاد چندین نمودار در یک پنجره با استفاده از plt.subplots().
- رسم نمودارهای مختلف (مانند نمودار خطی و هیستوگرام) در Subplotهای مجزا.
- تنظیم اندازه کلی figure با پارامتر figsize.
- نمودار هیستوگرام (Histogram)
- ایجاد هیستوگرام با plt.hist() برای نمایش توزیع دادهها.
- تنظیم پارامترهای کلیدی:
- شفافیت (Alpha)
- رنگ (Color)
- تعداد bins
- تنظیم چگالی (Density) برای نرمالایز کردن نمودار.
- تنظیمات پیشرفته ظاهری نمودارها
- تنظیم فونت و استایل برای عناصر نمودار (عنوان، محورها، legend) از طریق دیکشنری.
- کار با کدهای رنگ (Color Codes) برای تنظیم دقیق رنگها.
- تنظیم موقعیت و چینش legend.
- ذخیرهسازی نمودارها
- ذخیره نمودار نهایی در قالبهای مختلف (مانند PNG) با استفاده از plt.savefig().
- تأکید بر اهمیت ذخیرهسازی خروجیها برای گزارشگیری.
- جمعبندی و نکات پایانی
- مرور انواع نمودارهای covered: Pie Chart, Line Plot, Histogram.
- تأکید بر اهمیت تمرین و "مهندسی معکوس" کدهای موجود برای تسلط یافتن.
- پیشنمایش جلسه آینده: پردازش تصویر (Image Processing).
0 بررسی:
نظر بدهید