آموزش پایتون (Python) — مجموعه مقالات جامع وبلاگ فرادرس
«پایتون» (Python) یک زبان برنامهنویسی «همه منظوره» (General Purpose) و «سطح بالا» (High-level Programming Language) محسوب میشود که به دلیل سهولت یادگیری، ویژگیهای متعدد، کتابخانههای قدرتمند و موارد گوناگون دیگر به یکی از پر کاربردترین زبانهای برنامهنویسی روز دنیل مبدل شده است. پایتون در زمینههای گوناگون، از «توسعه وب» (Web Development) گرفته تا «تحلیل داده» (Data Analysis)، «پردازش زبان طبیعی» (Natural Language Processing) و «پردازش تصویر» (Image Processing) کاربرد دارد. به دلیل وجود فرصتهای شغلی مناسب، مزایای گوناگون و افزایش توجهات به این زبان، «مجله فرادرس» از دیرباز اقدام به انتشار مطالب گوناگون پیرامون آن کرده است. در این مطلب، کلیه نوشتارهای پیشین با محوریت پایتون معرفی شدهاند تا علاقمندان بتوانند مقالات مورد نظر خود را به سادگی انتخاب و مطالعه کنند.
مفاهیم و موضوعات عمومی پایتون
در ادامه مطالبی که به موضوعات عمومی و مورد نیاز کلیه کاربران مبتدی، متخصص و علاقمندان به یادگیری پایتون پرداختهاند معرفی شدهاند.
زبان برنامه نویسی پایتون (Python) — از صفر تا صد
در مطلب فوقالعاده جامع «زبان برنامه نویسی پایتون (Python) — از صفر تا صد» که مطالعه آن اکیدا به افراد مبتدی و علاقمندان به یادگیری این زبان توصیه میشود به موضوعات گوناگون پیرامون زبان پایتون به طور کامل پرداخته شده است. از جمله این موضوعات میتوان به چیستی زبان برنامهنویسی پایتون، دلایل محبوبیت، ویژگیهای آن، مزایا و معایب این زبان و کاربردهای آن اشاره کرد. سپس به این پرسش که کدام نسخه از پایتون را باید نصب کرد پاسخ و نحوه راهاندازی پایتون آموزش داده شده است. در ادامه، چارچوب برنامههای کاربردی وب متن باز «جنگو» (Django) که یکی از محبوبترین چارچوبهای وب به شمار میرود مورد بررسی قرار گرفته.
تفاوت زبان برنامهنویسی پایتون با دیگر زبانها به ویژه «پیاچپی» (PHP) و «روبی» (Ruby) از دیگر مواردی است که در این مطلب به طور کامل به آن پرداخته و در نهایت پاسخ این پرسش که «کدام زبان برنامهنویسی برای یادگیری بهترین است؟» بیان شده. همچنین، در ادامه این مطلب شش پروژه برنامهنویسی برای مبتدیان به همراه کدهای آن مورد بررسی قرار گرفته است.
از مباحث مهمی که در مطلب «زبان برنامه نویسی پایتون (Python) — از صفر تا صد» به آن پرداخته شده وضعیت اشتغال برای برنامهنویسان پایتون و جمعیت برنامهنویسهای پایتون در سراسر جهان است. در قسمت پایانی این مطلب، مزایای یادگیری پایتون و راهکارهای مفید و آسان برای فراگیری عمیق این زبان به طور کامل تشریح شدهاند.
بهترین مسیر یادگیری پایتون چیست؟ — راهنمای شروع آموزش
در مقاله «بهترین مسیر یادگیری پایتون چیست؟ — راهنمای شروع آموزش» با گردآوری تجربیات برنامه نویسان حرفهای پایتون سعی شده است تا کلیه نکات و موارد مهم در خصوص یادگیری پایتون جمعآوری و نقشه راه جامعی برای یادگیری پایتون از صفر ارائه شود.
پنج دلیل برای کاربردی بودن زبان پایتون
در مطلب «پنج دلیل برای کاربردی بودن زبان پایتون» به دلایل کاربردی و مناسب یادگیری بودن پایتون از جنبههای گوناگون شامل جذابیت و سادگی فراگیری، فراوانی دورههای یادگیری، مناسب توسعه بودن و وجود سیستم انواع پویا (Dynamic Types) و «همه منظوره» (General-Purpose) بودن پرداخته شده است.
چگونه پایتون را تنها از طریق مرورگر وب خود یاد بگیریم؟
در آموزش کاربردی «چگونه پایتون را تنها از طریق مرورگر وب خود یاد بگیریم؟» که مطالعه آن به افرادی مبتدی که در آغاز راه یادگیری پایتون قرار دارند اکیدا توصیه میشود، نحوه استفاده از «Interactive Shell» و تنظیم و آمادهسازی یک «محیط توسعه یکپارچه» (Integrated Development Environment | IDE) به طور کامل تشریح شده است.
در مطلب مذکور، برخی از سرویسهای تحت وب که دارای قابلیت «پوسته تعاملی آنلاین» (Online Interactive Shell) هستند (وبسایتهایی که به کاربر اجازه میدهند کدهای پایتون را در آنها نوشته، بلافاصله اجرا کرده و خروجی حاصل را مشاهده کنند) از جمله Python Anywhere ،Python Fiddle ،Repl.it ،Trinket ،Ideone و Python Tutor معرفی شدهاند. در پایان این مطلب راهکارهایی برای یادگیری پایتون چه برای افراد مبتدی و چه کسانی که نیاز به دانش تکمیلی دارند ارائه شده است.
نصب PIP پایتون بر روی ویندوز، مک و لینوکس — از صفر تا صد
در مطلب «نصب PIP پایتون بر روی ویندوز، مک و لینوکس — از صفر تا صد» آموزش نصب «PIP» که یک ابزار خط فرمان برای نصب، حذف و نصب مجدد بستههای PyPl است به طور کامل تشریح شده. در آموزش مذکور، نه تنها اعمال پیش نیاز برای نصب PIP به طور کامل بیان شده، بلکه چگونگی نصب این ابزار روی هر سه پلتفرم گنو/لینوکس، ویندوز و مک و همچنین سختافزار «رزبری پای» (Raspberry Pi) مورد بررسی قرار گرفته است. در پایان، روش ارتقای PIP و مدیریت بستههای پایتون با استفاده از این ابزار شرح داده شده است.
تابعهای لامبدا (Lambda) در پایتون — یک راهنمای مقدماتی
«لامبدا» (Lambda) یکی از ویژگیهای مهم و قابل توجه زبان برنامهنویسی پایتون است. در مطلب «تابعهای لامبدا (Lambda) در پایتون — یک راهنمای مقدماتی»، چیستی لامبدا، نحوه استفاده از آن در پایتون، لامبداهای پایتون به همراه «نگاشت» (map)، «کاهش» (reduce) و «فیلتر» (filter) و نکاتی که هنگام کار با لامبدا باید در نظر داشت مورد بررسی قرار گرفتهاند.
متدهای وهلهای، استاتیک و کلاس در پایتون — تفاوتهای مهمی که باید بدانید
در مطلب «متدهای وهلهای، استاتیک و کلاس در پایتون — تفاوتهای مهمی که باید بدانید»، به سه نوع متد وهلهای، استاتیک و کلاس پرداخته شده و علاوه بر بیان مطالب مقدماتی و مفاهیم اساسی هر یک، کاربردهای هر متد نیز تشریح شده است.
List Comprehension در پایتون چیست و چه زمانی باید از آن استفاده کنیم؟
در مطلب «List Comprehension در پایتون چیست و چه زمانی باید از آن استفاده کنیم؟» مفاهیم «خلاصه لیست» (List Comprehension)، چگونگی استفاده از آن در پایتون و مواقعی که نباید از خلاصه لیست استفاده کرد مورد بررسی قرار گرفتهاند.
رویههای پایتون برای کد نویسی کارآمد: عملکرد، حافظه و قابلیت استفاده
نظر به اهمیت نوشتن کدها با رویههای خوب، در مطلب «رویههای پایتون برای کد نویسی کارآمد: عملکرد، حافظه و قابلیت استفاده» به شش رویه جهت تولید برنامههای کارآمد اشاره شده است. محوریت رویه اول مدیریت حافظه، استفاده از تولیدکنندهها (generators)، بهرهگیری از کتابخانه NumPy، عملگرهای مناسب برای رشتههای بزرگ، استفاده از Slots هنگام تعریف کلاس و بهرهگیری از ماژولهای داخلی است. در رویه دوم بر موضوع نوشتن کدهای زیبا، استفاده از ابزارهای استاتیک تحلیل کد و مستندسازی صحیح کدها مورد بررسی قرار گرفته است.
رویه سوم بر موضوع چند پردازشی، استفاده از آخرین نسخههای پایتون، استفاده از توابع داخلی، بهرهگیری از Ctypes ،Cython و PyPy، توجه به طراحی و ساختار دادهها تمرکز دارد. در رویه چهارم بحث انتخاب میان پایتون ۲ و ۳، مدیریت الزامات pip (مدیر بسته پایتون)، استفاده از محیطهای مجازی و چگونگی نسخهبندی پروژه مورد بررسی قرار گرفته است. در نهایت در رویه پنجم موضوع تحلیل کد نوشته شده توسط برنامهنویس توسط خود او و در رویه ششم مباحث تست کردن، اندازهگیری پوشش و یکپارچهسازی پیوسته تشریح شدهاند.
کتابخانههای پایتون
در یک مجموعه مطلب دو قسمتی به کتابخانه NumPy که پشتیبانی از آرایههای بزرگ و چندبُعدی و مجموعهای از توابع ریاضیاتی سطح بالا برای انجام عملیات روی این آرایهها را به پایتون میافزاید به طور کامل پرداخته شده است. مطالعه این مجموعه مطلب به ویژه به افرادی که از پایتون برای محاسبات علمی و عددی و همچنین «دادهکاوی» (Data Mining)، «یادگیری ماشین» (Machine Learning) و «علم داده» (Data Science) بهره میبرند اکیدا توصیه میشود.
پایتون و بصریسازی دادهها
بصریسازی دادهها یکی از موضوعات مهم در پردازشهای علمی و عددی و همچنین علم داده است. در دو مطلب زیر چگونگی رسم نمودارهای گوناگون با بهرهگیری از کتابخانههای پایتون به ویژه «Matplotlib» مورد بررسی قرار گرفته.
- هیستوگرام (Histogram) و نمودارهای چگالی — راهنمای بصری سازی دادههای تک بُعدی در پایتون
- نمودارهای متحرک در پایتون — از صفر تا صد
پایتون و علم داده
پایتون یکی از زبانهای بسیار قدرتمندی است که در زمینه «علم داده» (Data Science) و «دادهکاوی» (Data Mining) مورد استفاده قرار میگیرند. یکی از دلایل این امر، وجود کتابخانههای بسیار قدرتمندی همچون Pandas ،SciPy ،NumPy ،Matplotlib ،Seaborn ،Bokeh ،Plotly ،SciKit-Learn ،TensorFlow ،Theano ،Keras ،NLTK ،Gensim ،Scrapy و Statsmodels است. در ادامه آموزشهای موجود در مجله فرادرس پیرامون پایتون و علم داده معرفی شدهاند.
الگوریتمهای علم داده و یادگیری ماشین در پایتون
الگوریتمهای گوناگون دادهکاوی و یادگیری ماشین به همراه کد پیادهسازی آنها در مطالب مجله فرادرس تشریح شدهاند. همچنین، به منظور بهبود درک مطلب از مثالهای کاربردی گوناگون نیز استفاده شده است. الگوریتم اپریوری، K-نزدیکترین همسایگی، شبکههای عصبی، ماشین بردار پشتیبان و انواع الگوریتمهای کاهش ابعاد از این جمله هستند.
- الگوریتم اپریوری (Apriori) به همراه کد پیادهسازی در پایتون — کاوش قواعد وابستگی در دادهکاوی
- الگوریتم K-نزدیکترین همسایگی به همراه کد پایتون
- شبکههای عصبی در پایتون و R – درک و کد نویسی از صفر تا صد
- ماشین بردار پشتیبان — به همراه کدنویسی پایتون و R
- الگوریتم کاهش ابعاد t-SNE با مثالهای پایتون — آموزش کاربردی
- تحلیل مولفه اساسی (PCA) — راهنمای عملی به همراه کد نویسی در پایتون و R
- مهمترین الگوریتمهای یادگیری ماشین (به همراه کدهای پایتون و R) — بخش دهم: الگوریتمهای کاهش ابعاد
پروژههای دادهکاوی و یادگیری ماشین
یکی از مهمترین دغدغههای افراد مبتدی در حوزه پایتون، یادگیری ماشین و دادهکاوی آن است که بتوانند آنچه آموختهاند را در پروژههای عملی به کار بگیرند. در این راستا «مجله فرادرس» اقدام به انتشار مطالب پروژهمحور پیرامون یادگیری ماشین و دادهکاوی کرده است. از این جمله میتوان به موارد زیر اشاره کرد.
- برنامهنویسی پایتون — چگونه با کمتر از ۲۰ خط کد، جملههای الهامبخش ایجاد کنیم؟
- ساخت سیستم توصیه گر (Recommender System) فیلم با پایتون — راهنمای جامع و ساده
- پیش بینی بازار بورس با پایتون — آموزش جامع
- پاکسازی داده (Data Cleaning) در پایتون با استفاده از NumPy و Pandas — راهنمای جامع
- تشخیص ناهنجاری با استفاده از داده کاوی — بررسی موردی همراه با کدهای پایتون
پایتون و پردازش زبان طبیعی
«پردازش زبان طبیعی» (Natural Language Processing) یکی از مباحث روز دنیا است که کاربردهای بسیار زیادی دارد. پایتون با دارا بودن کتابخانههای تحلیل داده و محاسباتی قدرتمند و متعدد به یک انتخاب قابل توجه جهت انجام پیادهسازیها در پروژههای پردازش زبان طبیعی مبدل شده است.
پردازش زبان طبیعی (NLP) با پایتون — راهنمای جامع
در مطلب «پردازش زبان طبیعی (NLP) با پایتون — راهنمای جامع»، ابتدا مبحث پردازش زبان طبیعی به طور کامل مورد بررسی قرار گرفته. سپس، طی یک پروژه کاربردی، چگونگی انجام پردازش زبان طبیعی با بهرهگیری از زبان برنامهنویسی پایتون شرح داده است.
پایتون و مدلسازی زبان — راهنمای گامبهگام
«پیشبین کلمه بعدی» (Next Word Predictor)، که به آن «مدلسازی زبان» (Language Modeling) نیز گفته میشود، در واقع نرمافزاری است که پیشبینی میکند کلمه بعدی که کاربر تایپ خواهد کرد چیست. این کار یکی از وظایف پایهای در پردازش زبان طبیعی (NLP) محسوب میشود و کاربردهای بسیار زیادی دارد. در مطلب «پایتون و مدلسازی زبان — راهنمای گامبهگام» چگونگی انجام مدلسازی زبان با بهرهگیری از کتابخانه پایتون «تنسورفلو» (Tensorflow) تشریح شده است.
پایتون و پردازش تصویر
پایتون یکی از زبانهای بسیار قدرتمند جهت پردازش تصویر به شمار میآید. در مطلب زیر، چگونگی انجام پردازش تصویر با یک پروژه کاملا کاربردی به همراه کدهای آن آموزش داده شده است.
پایتون و وب
یکی از کاربردهای مهم پایتون به عنوان یک زبان برنامهنویسی همه منظوره، توسعه و دستکاری وب است. در این راستا از چارچوبهای گوناگونی مانند «جنگو» (Django)، «پیرامید» (Pyramid) و «چریپای» (CherryPy) و همچنین «میکرو چارچوبهایی» (Micro-frameworks) مانند «فلسک» (Flask) و «باتل» (Bottle) استفاده میشود. از سوی دیگر، پایتون و کتابخانههای ویژه وب آن مانند Beautiful Soup، Requests و دیگر موارد برای خزش در وب (Web Crawling) و وب اسکرپینگ (Web Scraping) مورد استفاده قرار میگیرند. در مطالب زیر به این موضوعات به طور جامع و با بیان ساده همراه با مثالهای عملی پرداخته شده است.
- چگونه یک «خزنده وب» (Web Crawler) بسیار ابتدایی بسازیم؟
- وب اسکرپینگ (Web Scraping) با پایتون و کتابخانه Beautiful Soup — راهنمای جامع
- پایتون و گردآوری دادههای وب با استفاده از آن
پایتون و نمونه پروژهها
یادگیری هر زبان برنامهنویسی با بهرهگیری از پروژههای عملی بسیار سادهتر و عمیقتر خواهد بود. در ادامه برخی از مطالبی که در آنها پروژههای عملی با بهرهگیری از پایتون پیادهسازی شدهاند و همچنین سایر موضوعات مرتبط با پایتون معرفی شده است.
- آموزش ساخت بلاک چین (Blockchain) با پایتون — راهنمای جامع و ساده
- اسکریپت شناسایی توانهای عدد ۲ در پایتون
- ساخت برنامه های خط فرمان در پایتون با بسته کلیک (Click Package) — به زبان ساده
- چگونه با پایتون برای لینوکس ابزار اعلانات ایجاد کنیم؟ — راهنمای گامبهگام
- OpenStreetMap — بارگذاری دادهها به کمک پایتون و Overpass API
- پایتون و استخراج اطلاعات از گزارشها با RegEx Library
- چگونه با استفاده از جیسون (JSON) بین پایتون و جاوا اسکریپت ارتباط برقرار کنیم؟
- JSON برای پایتون — راهنمایی برای مبتدیها
سایر موارد
از دیگر مواردی که در زمینه دادهکاوی و پایتون مطرح میشود، نصب و راهاندازی Jupyter Notebook به عنوان یک محیط محاسباتی تعاملی مبتنی بر وب و کار با دادههای ساختگی (جعلی) شامل چگونگی ساخت آنها است. در مطالب زیر به این موارد پرداخته شده.
- راهاندازی نت بوک ژوپیتر با پایتون ۳ روی دبیان ۹ — از صفر تا صد
- داده های ساختگی (Dummy data) در روبی، پرل و پایتون — راهنمایی از صفر تا صد
اگر مطلب بالا برای شما مفید بوده، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامه نویسی پایتون
- مجموعه آموزشهای طراحی و برنامهنویسی وب
- مجموعه آموزشهای پروژه محور برنامه نویسی
- مجموعه آموزشهای آمار، احتمالات و دادهکاوی
- مجموعه آموزشهای هوش محاسباتی
- مجموعه آموزشهای یادگیری ماشین و بازشناسی الگو
- مجموعه آموزشهای شبکههای عصبی مصنوعی
- آموزش برنامهنویسی R و نرمافزار R Studio
- مجموعه آموزشهای متلب و سیمیولینک
^^
برای من مبتدی که تازه دارم شروع می کنم و اول راه هستم خیلی مفید بود
ممنون
سلام
ممنون از مطالب مفیدتون