معرفی دوره آموزش پایتون پیشرفته روکسو
قبل از ورود به دوره آموزش پایتون پیشرفته روکسو، باید با شما صحبتی داشته باشم. اولین سوالی که هر دولوپر و برنامه نویس به ذهنش خطور می کند این است: چرا باید این زبان را یاد بگیرم؟ قطعا برای پاسخ به این سوال جواب های زیادی وجودی دارد ولی آنچه که شما را به این صفحه هدایت کرده است، اینه که به پایتون نیاز دارید و باید در پروژه های خود از آن استفاده کنید. یا سطح مبتدی ای از پایتون را یاد گرفته اید و اکنون میخواهید توانایی های خود را ارتقاء داده و در سطح پیشرفته ای از پایتون کدنویسی کنید.
پایتون یک زبان برنامه نویسی با جامعه توسعه دهندگان بسیار وسیع است که طی سال های گذشته به دلیل محبوبیت و کارایی بالایی که از خود نشان داده است، عنوان محبوبترین زبان برنامه نویسی را بدست آورده است. بنابراین برای هر کسی که دوست دارد شغل خود را به برنامه نویسی تغییر دهد و در دنیای فناوری اطلاعات حرفی برای گفتن داشته باشد، قطعا پایتون ساده ترین و سر راست ترین مسیر ممکن است. زیرا یادگیری این زبان به نسبت سایر زبان ها بسیار ساده می باشد بگونه ای که در کشورهای توسعه یافته، این زبان در سطح Basic برای کودکان و نوجوانان تدریس می شود.
در کل پایتون یک زبان برنامه نویسی با کارایی جنرال (General) یا کلی است. یعنی چی؟ در نظر بگیرید که میخواهید در هر یک از حوزه های وب (Web Development)، توسعه بازی (Game Development)، کار با داده های حجیم (Big Data)، علوم کامپیوتر و ریاضیات (Computer Science & Mathematic) و … فعالیت کنید. پایتون در تمام این حوزه ها، ابزارهای بسیار قدرتمندی را نسبت به سایر زبان ها ارائه می کند. پس قطعا شما با یک تیر چندین نشان می زنید.
در ادامه به برخی از ویژگی های مهم زبان پایتون اشاره می کنیم:
پایتون زبان برنامه نویسی Beginner-Friendly: کار کردن با پایتون مثل نوشتن کلمات انگلیسی پشت سر هم هست. یعنی شما خیلی ساده و روان با ساختار مشخص از زبان انگلیسی، کدنویسی می کنید. هیچ پیچیدگی ای در کار نیست!
پایتون همه کاره: در پایتون بالای ۱۲۵ هزار پکیج آماده وجود دارد که می توانید در انواع و اقسام پروژه ها از آن استفاده کنید. این تعداد پکیج روند توسعه پروژه شما را بسیار سریع تر می کند. زیرا ما به این معتقدیم که نباید چرخ را از نو ساخت. یعنی وقتی یک کد تمیز توسط یک برنامه نویس دیگر به صورت Open-Source وجود دارد. نیازی نیست آن را مجددا تولید کنیم یا بنویسیم.
حقوق مناسب: افرادی که در زمینه برنامه نویسی پایتون کار می کنند بازار کار بسیار مناسبی رو در داخل و خارج از ایران بدست می آورند. در حال حاضر به سال ۱۴۰۲ هر دولوپر یا برنامه نویس پایتون، از سطح مبتدی تا پیشرفته بین ۱۵ الی ۴۵ میلیون درآمد خواهد داشت. همچنین در خارج از کشور این مبلغ به صورت میانگین سالیانه ۱۱۴ هزار دلار می باشد.
انجمن های گفتگو مناسب: پایتون یکی از زبان هایی است که در اکثر انجمن ها و گروه های پرسش و پاسخ درباره آن صحبت می کنند. در حال حاضر نزدیک به بیش از ۱.۵ میلیون ریپازیتوری در گیت هاب وجود دارد که با زبان پایتون نوشته شده اند.
آنچه شما در این دوره خواهید آموخت
- نحوه کار با ادیتور PyCharm در سطح پیشرفته و دریافت ورودی از کاربران
- کار با انواع داده در زبان برنامه نویسی پایتون
- هوشمندسازی برنامه ها با استفاده از دستورهای شرطی و کنترلی مثل if, for, while, switch و …
- نحوه کار با داده های مرتب شده در لیست ها و تاپل ها
- نحوه کار با دیکشنری و مجموعه ها
- نوشتن توابع پیشرفته و کار با متدهای پایتون
- یادگیری صفر تا صد شیء گرایی در زبان پایتون به همراه مثال های کاربردی
- آموختن کدنویسی تمیز (Clean Code) با جدیدترین استانداردهای روز دنیا (PEP 8 و PEP 20)
- نحوه کار با ماژول ها و پکیج های پایتون
- مدیریت خطاها یا Error handling در سطح پیشرفته
- کار با ورودی ها و فایل I/O
- کار با دکوریتورها (Decorator) و جنریتورها (Generator)
- تست نویسی یونیت (Unit Testing) برای ورود به دنیای TDD
- پروژه وب اسکریپینگ (Web Scraping) در پایتون
- پروژه ساخت ربات تلگرام با پایتون
سرفصلهای دوره پایتون پیشرفته
مقدمه و معرفی
- معرفی دوره و هدف از یادگیری پایتون
- نصب IDE و راه اندازی محیط برنامه نویسی
- نوشتن اولین برنامه با پایتون و نمایش خروجی در کنسول
- کار با Input ها و دریافت اطلاعات ورودی از کاربر
معرفی انواع داده و تعریف متغییرها
- معرفی داده های Numeric شامل Int, Float و Complex Number یا اعداد مختلط
- کار با داده های Sequence Type شامل List, Tuple و String
- کار با داده های صحیح و غلط یا Boolean
- کار با داده های Set
- معرفی دیکشنری یا Dictionary
کار با رشته ها (String)
- کار با متدهای Len و chr و ord
- کار با متدهای پر کاربرد رشته ها مثل find و replace و index و stripe
دستورات شرطی کنترلی و حلقه ها
- کار با دستور شرطی if و else و elif و … .
- پیاده سازی حلقه While با تمام حالت های ممکن
- کار با حلقه for با تمام شرایط ممکن
- مثال های کاربردی برای حلقه ها به همراه شروط کنترلی
توابع و متدها (Functions and methods)
- معرفی توابع و تفاوت آنها با Methods
- نحوه تعریف توابع با ساختار def
- مثال های کاربردی توابع
- کار با انواع آرگومان های args* و kwargs**
- کار با توابع لامبدا (Lambda)
لیست ها (Lists) و Tuples (سطح پیشرفته)
- بررسی تخصصی تمام متدهای لیست ها
- بررسی تخصصی تمام متدها Tuple ها
- بررسی عملکرد و پرفورمنس لیست و Tuple
دیکشنری ها (Dictionary) و مجموعه ها (Sets) (سطح پیشرفته)
- کار با مجموعه ها (Sets) از صفر تا صد (پیشرفته)
- کار با دیکشنری ها (Dictionaries) از صفر تا صد پیشرفته
برنامه نویسی شیءگرایی (OOP) سطح مقدماتی تا پیشرفته
- مقدمه و معرفی شیء گرایی یا Object Oriented Programming
- تعریف کردن کلاس ها (Class) و نمونه برداری از آنها (Instance)
- معرفی متدهای __init__ و __str__ و __eq__ و نحوه استفاده از کلاس ها
- ارسال پارامترها به متدها
- معرفی کلید واژه self و نحوه استفاده از آن
- کار با متدهای استاتیک و Decorator ها @
- بررسی مفهوم ارث بری در پایتون
- کار با متد super
- آشنایی با فرآیندهای توسعه (Extend) یک کلاس
- آشنایی با فرآینده بازنویسی (Overwrite) یک کلاس
- آشنایی و معرفی مفهوم پلی مورفیسم (Polymorphism) در پایتون
- آشنایی با مفهوم Encapsulation
- کار با Access Modifier های پایتون (Private, Public, Protected)
- کار با Setter ها و Getter ها و معرفی مفهوم Property
- معرفی مفهوم انتزاع (Abstraction) و تعریف یک Abstract Class در پایتون
- کار با ماژول ABC (مخفف Abstract Base Class)
- آشنایی با دکوریتور abstractmethod@
کدنویسی تمیز با استانداردهای PEP8 و PEP20
- بررسی مفهوم کدنویسی تمیز
- آشنایی با قوانین و اصول PEP8
- آشنایی با قوانین و اصول PEP20
ماژول ها (Modules) و پکیج ها (Packages)
- معرفی ماژول ها
- نحوه تعریف یک ماژول
- شیوه نام گذاری و دسترسی به یک ماژول
- نحوه import کردن و استفاده از دستور from import
- معرفی پکیج ها
- نحوه تعریف یک پکیج به همراه sub package ها
- نحوه تعریف ماژول ها داخل پکیج و تفاوت آن با سایر ماژول ها
مدیریت خطاها (Error Handling)
- آشنایی با مفهوم مدیریت خطا یا Error Handling در پایتون
- کار با try except
- آشنایی با دستور finally و else
- نحوه پرتاب یک خطا یا raise
- نحوه ارسال یک assertion در پایتون به هنگام برخورد به خطا
- نحوه کار با warning ها (هشدارها)
- آشنایی با ساخت یک کلاس مجزا برای مدیریت خطاها
- آشنایی با suppress و دستور with as python
کار با فایل ها I/O
- معرفی فایل ها در پایتون و انواع آن
- کار با دستور open و پارامترهای filename و mode
- آشنایی با مودهای r و w و x و a و b
- نحوه کار با ماژول os و دسترسی به فایل ها
- نحوه کار با دستور with به عنوان context manager در فایل ها
- نحوه خواندن خط به خط فایل و نوشتن روی یک فایل
- نحوه کار کردن با حلقه for در فایل ها
کار با Decorator ها و Generator ها
- معرفی دکوریتور در پایتون (Decorator)
- آشنایی با مفهوم HOC و دیزاین پترن Decorator
- پیاده سازی یک دکوریتور برای دریافت پرفورمنس اجرایی یک تابع
- آشنایی با شیوه ارسال پارامترهای متنوع به یک دکوریتور
- معرفی جنریتورها (Generators)
- بررسی تفاوت بین لیست ها و جنریتورها از نظر سرعت
- بهینه سازی حلقه ها با استفاده از جنریتورها
- نحوه تعریف و استفاده از دستورهای yield و next در جنریتورها
تست نویسی (Unit Testing) در پایتون
- آشنایی با انواع تست شامل Unit test, Integrated Test, End to End Test
- نحوه پیاده سازی یک Unit test در پایتون با پکیج unittest
- آشنایی با TDD (Test Driven-Development)
- نحوه پیاده سازی یک تابع با روش TDD
- بررسی انواع Assertion ها
- پاس کردن یا رد کردن یک تست
- دیباگ کردن یک تست
پروژه ها
- پیاده سازی وب اسکریپینگ (Web Scraping) در پایتون
- پیاده سازی ربات تلگرام با پایتون
پاسخ به سوالات احتمالی شما
آیا پس از اتمام این دوره نیاز به دوره های دیگری خواهم داشت؟
پاسخ به این سوال همیشه در هاله ای از ابهام بوده. طبیعتا هیچ دوره آموزشی در سراسر دنیا وجود ندارد که ادعا کند همه چیز را پوشش می دهد زیرا متناسب با شرایط یک پروژه ممکن است مفاهیمی مطرح شود که در یک دوره آموزشی وجود نداشته باشد. اما ما به شما این تضمین را میدهیم که سرفصل هایی که در این دوره تدریس می شود، ۹۹ درصد نیازهای شما را برای کار با زبان پایتون پاسخ خواهد داد.
آیا این دوره پیش نیازی دارد؟
خیر این دوره هیچ پیش نیازی ندارد. تنها باید با مفاهیم الگوریتم آشنایی داشته باشید که اگر این آشنایی هم نباشد در حین کدنویسی با توضیحات و تصاویری که در اختیار شما قرار می گیرد با الگوریتم آشنایی پیدا می کنید.
آیا پروژه ای در پایان این دوره تعریف شده است؟
در اتمام این پروژه قصد داریم ۲ پروژه کاربردی را پیاده سازی کنیم. این پروژه های شامل مواردی است که به شما کمک می کند چالش های بیشتری را با زبان پایتون تجربه کنید. پروژه های Web Scraping و ربات تلگرام با پایتون.
این دوره مناسب چه کسانی است؟
این دوره برای تمام کسانی که قصد دارند برای اولین بار یک زبان برنامه نویسی را از سطح مقدماتی تا پیشرفته یاد بگیرند بسیار مناسب است. محدودیت سنی در این دوره وجود ندارد.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای دوره پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.