پایتون (Python) یک زبان برنامه نویسی بسیار محبوب و همهمنظوره است که تقریباً برای هر کاری میتوان از آن استفاده کرد. زبان برنامه نویسی پایتون (Python)، امکان توسعه سریع و اشکالزدایی (Debugging) آسان را فراهم میکند. همچنین پایتون از وظایفی پشتیبانی میکند که در دنیای امروزی، بیشترین کاربرد را دارند. بسیاری از افراد به یادگیری برنامه نویسی از طریق کتابهای آموزشی علاقه دارند. در این مقاله، ۵۰ کتاب برنامه نویسی پایتون رایگان برای برنامه نویسان مبتدی، سطح متوسط و پیشرفته معرفی شده است. کتابهای معرفی شده، اثر بهترین ناشران جهان هستند.
پایتون چیست؟
پایتون یک زبان برنامه نویسی شی گرا (OOP)، مفسری (Interpreted) و سطح بالا است که با هدف داشتن خوانایی زیاد و پیادهسازی ساده طراحی شده است. همچنین پایتون زبانی منبعباز محسوب میشود به این معنی که استفاده از آن حتی برای برنامههای کاربردی تجاری رایگان است. امکان اجرای پایتون روی سیستمهای مک (Mac)، ویندوز و سیستم عامل یونیکس (Unix) وجود دارد. علاوه بر این با ماشینهای مجازی جاوا (JVM) و دات نت (Net.) نیز تطبیق داده شده است.
از زبان برنامه نویسی پایتون برای ایجاد کاربردهای مبتنی بر وب (Web Application) و محتوای وب پویا استفاده میشود. همچنین توسط تعدادی از برنامههای تصویربرداری دوبُعدی و سهبُعدی پشتیبانی میشود و کاربران را قادر میسازد تا با پایتون، افزونههای سفارشی ایجاد کنند. Blender ،Inkscape ،GIMP و Autodesk Maya، نمونههایی از از برنامههای تصویربرداری هستند که از زبان برنامه نویسی پایتون پشتیبانی میکنند. به طور خلاصه، پایتون یک زبان برنامه نویسی کامپیوتری است که غالباً برای ساخت وبسایتها و نرم افزارها، خودکارسازی وظایف، تجزیه و تحلیل دادهها استفاده میشود و به دلیل همه منظوره بودن آن برای ایجاد انواع برنامههای مختلف کاربرد دارد.
آینده شغلی پایتون چگونه است؟
پایتون یکی از زبانهای برنامه نویسی محسوب میشود که امروزه در حوزههای بسیاری کاربرد دارد و افراد بسیاری در جامعه برنامه نویسی پایتون مشغول فعالیت هستند. پایتون توسط شرکتهای بزرگی مانند گوگل و آمازون پشتیبانی میشود و در سال ۱۳۹۹ شمسی (2021 میلادی) ۳۰ ساله شد. سالها است که برنامه نویسان از زبان پایتون استفاده میکنند و این زبان در طول سالها، پشتیبانی عالی و قابلیت رشد خود را به همه ثابت کرده است. همچنین، بیش از ۲۵ میلیون نفر کاربر مبتدی و ۸ میلیون نفر برنامه نویس حرفهای از زبان برنامه نویسی پایتون استفاده میکنند.
پایتون به طور پیوسته در حال گسترش است و همواره بر تعداد کتابخانههای کاربردی آن افزوده میشود. یکی از دلایل موفقیت و محبوبیت پایتون نیز همین کتابخانهها محسوب میشوند که باعث آسان شدن کار برنامه نویسان و پیشرفت روزافزون پایتون شدهاند. بنابراین، میتوان آینده شغلی مناسب و روشنی را برای پایتون متصور شد.
معرفی کتاب برنامه نویسی پایتون رایگان
در زمینه برنامه نویسی پایتون، کتابهای بسیار زیادی منتشر شده است که تمام سطوح یادگیری را پوشش میدهند. در این مطلب به معرفی برخی از بهترین کتابهای برنامه نویسی پایتون پرداخته میشود. این کتابها میتوانند برای آن دسته از افرادی مفید باشند که به یادگیری پایتون از طریق مطالعه کتاب علاقهمند هستند. انواع مخاطبین کتاب برنامه نویسی پایتون را میتوان به صورت زیر دستهبندی کرد:
- افراد مبتدی که هیچگونه سابقهای در زمینه برنامه نویسی ندارند.
- برنامه نویسان تازهکاری که با یک یا دو زبان برنامه نویسی آشنا هستند.
- توسعهدهندگان حرفهای که مدتها است برنامه نویسی انجام ندادهاند و نیاز به مرور مفهومها دارند.
- متخصصان باتجربهای که جویای یک دوره آموزشی کارآمد، خلاصه و روان برای پایتون هستند.
در ادامه به معرفی ۵۰ کتاب برنامه نویسی پایتون برای سطوح مختلف یادگیری آن پرداخته شده است. برای حوزههای مختلفی مانند یادگیری ماشین (Machine Learning)، علم داده (Data Science)، پردازش زبان طبیعی (NLP) با پایتون و موارد دیگر نیز کتابهایی معرفی شده است.
۱. کتاب Essential Copying and Pasting from Stack Overflow
کتابهای زیادی برای شروع برنامه نویسی پایتون وجود دارد. یکی از کتابهای مناسب برای شروع، کتاب راهنمای «کپی و الصاق کردن از Stack Overflow» است. این کتاب از نویسندهای با نام مستعار منتشر شده، ولی شایعات حاکی از آن است که احتمال دارد «وینیت نایاک» (Vinit Nayak) نویسنده این اثر باشد.
در این کتاب، روشهای توسعه نرم افزار (Software Development) ارائه میشوند و تسلط بر این روشها کمک میکند فرد به محبوبترین توسعهدهنده در بازار کار تبدیل شود. علاوه بر این، باورنکردنیترین فرصتها را به کاری انجام شدنی، تبدیل میکند. ویژگیهای این کتاب باعث میشود که توسعهدهنده قدرتمندتر شود.
۲. کتاب Automate the Boring Stuff with Python
کتاب «خودکارسازی کارهای تکراری و ملالآور با پایتون» نوشته «ال سوئیگارت» (Al Sweigart)، یکی از کاربردیترین کتابهایی به حساب میآید. این کتاب به همراه دورهای کوتاه و فشرده ارائه شده است. به چنین دورههایی اصطلاحاً «Crash Course» میگویند. این کتاب از طریق زبان پایتون، نحوه نوشتن کدهایی را به برنامه نویسان آموزش میدهد تا بتوانند وظیفههایی را خودکارسازی و زمان اجرای آنها را کوتاهتر کنند که انجام آنها توسط انسان معمولاً ساعتها زمان میبرد و بسیار کسلکننده و تکراری است. همچنین، مهارتهای مختلف برنامه نویسی در این کتاب به صورت عملی آموزش داده شدهاند و برای برنامه نویسان مبتدی نیز مناسب است. بنابراین، پس از مطالعه این کتاب و تسلط روی اصول و مبانی پایتون، میتوان برنامههایی ایجاد کرد که به راحتی، کارهای بسیار مفید و شگفتانگیزی را به صورت خودکار انجام میدهند.
برنامه نویسان بعد از مطالعه این کتاب متوجه میشوند که حجم زیادی از کارهایی که در تعاملات روزانه با کامپیوتر انجام میشوند را میتوان با اسکریپتهای ساده پایتون سرعت بخشید. کارهایی مانند جستجوی متن در چندین فایل، کار با پوشهها و فایلها حتی پاک کردن آن، جستجو در وب، ارسال ایمیل خودکار، متصل کردن فایلهای PDF و موارد دیگر از جمله کارهایی هستند که با استفاده از زبان برنامه نویسی پایتون به راحتی قابلیت خودکارسازی دارند.
۳. کتاب Python for Everybody
کتاب «پایتون برای همه» (Python for Everybody) توسط دکتر «چارلز راسل سورنس» (Charles Russell Severance)، «سو بلومنبرگ» (Sue Blumenberg) و دیگر همکاران نوشته شده است. هدف این کتاب، آشنایی مخاطبان با برنامه نویسی و توسعه نرم افزار از جنبه پردازش و کار با دادهها است.
امکان حل برخی از مسائل مبتنی بر دادهها از طریق نرمافزارهای صفحهگسترده (Spreadsheet) وجود ندارد، با یادگیری مباحث این کتاب، میتوان زبان برنامه نویسی پایتون را به عنوان ابزاری برای حل این نوع مسائل به کار برد. یادگیری و استفاده از زبان برنامه نویسی پایتون آسان است و به صورت رایگان در کامپیوترهایی با سیستم عامل مک OS، ویندوز یا لینوکس (Linux) در دسترس قرار دارد.
۴. کتاب Think Bayes
«آمار بیز» (Bayesian Statistics)، یک حوزه ریاضیاتی و آماری محسوب میشود و یکی از زبانهایی که برای پیادهسازی روشهای آن میتوان استفاده کرد، زبان برنامه نویسی پایتون است. کتاب «Think Bayes» که توسط آلن داونی (Allen B. Downey) نوشته شده، به ویرایش دوم رسیده است. این کتاب، نحوه حل مسائل آماری را به جای نمادهای ریاضی با استفاده از کد پایتون آموزش داده شده است. همچنین در آن به جای توزیعهای احتمالی گسسته (Discrete Probability Distribution) از ریاضیات پیوسته (Continuous Mathematics) استفاده میکند. به محض این که مفاهیم ریاضی آموزش داده شده در این کتاب فراگرفته شوند، موضوعهای آمار بیزی ملکه ذهن خواهند شد و میتوان از روش بیز برای حل مسائل دنیای واقعی استفاده کرد.
روشهای آماری بیز به علت کاربردی بودن برای حل مسائل واقعی، اهمیت بیشتری پیدا کردهاند، اما همچنان منابع زیادی برای آموزش به افراد مبتدی در این زمینه در دسترس نیست. این کتاب بر اساس کلاسهای مقطع کارشناسی که توسط نویسنده آلن داونی تدریس میشوند با رویکردی محاسباتی ارائه شده است؛ بنابراین به فراگیران کمک میکند تا به خوبی حل مسائل بیز در پایتون را فرا بگیرند.
۵. کتاب برنامه نویسی پایتون با عنوان Full Stack Python
«فول استک پایتون» (Full Stack Python) کتابی منبع باز است که مفاهیم فنی را به بیان ساده توضیح میدهد. این کتاب راهنما، توسط «متیو ماکای» (Matthew Makai) نوشته شده است و به چند شاخه در حوزه فول استک تقسیم میشود. زیرا این که چه چیزی یاد گرفته شود به پیش نیازهای کاری بستگی دارد که باید انجام شود. بنابراین باید با توجه به نیاز خود، موضوعی برای یادگیری انتخاب شود.
برنامه نویس فول استک، شخصی است که مدت زمان زیادی را صرف طراحی وب کرده است و به هر دو زمینه برنامه نویسی سمت سرور و توسعه سمت کاربر تسلط دارد و صرفاً آشنایی با زبانهای برنامه نویسی به معنی فول استک بودن نیست. همچنین، علاوه بر تسلط روی طراحی و برنامه نویسی صفحات وب، باید توانایی حرفهای پیدا کردن مشکل (Debuger) و حل آن را داشته باشد. علاوه بر این بتواند به خوبی سرور را مدیریت کند و با مدیریت پروژه آشنایی داشته باشد.
۶. کتاب The Python Handbook
این کتاب توسط «فلاویو کپس» (Flavio Copes) نوشته شده است و آنچنان وارد جزئیات مربوط به زبان برنامه نویسی پایتون نمیشود. کتاب «The Python Handbook» (راهنمای پایتون) روی مباحث اصلی زبان پایتون تمرکز دارد و سعی میکند موضوعهای پیچیدهتر را به روشی ساده توضیح دهد.
به موضوعهایی نظیر مقدمهای بر پایتون، نحوه نصب پایتون، نحوه اجرای برنامههای پایتون، مقایسه پایتون ۲ با پایتون ۳، مبانی پایتون، انواع داده در پایتون (Data Types)، عملگرها در پایتون (Operators)، عملگرهای سه تایی در پایتون، درک لیستها در پایتون، چند شکلی (Polymorphism) در پایتون، سربارگذاری بیش از حد (Overloading) عملگر در پایتون، انواع محیط مجازی پایتون و بسیاری موارد دیگر در این کتاب مطرح شدهاند.
۷. کتاب Learn Python, Break Python
«پایتون را یاد بگیرید، پایتون را تجزیه کنید» (Learn Python, Break Python) مقدمهای عملی برای زبان برنامه نویسی پایتون به حساب میآید. این کتاب توسط «اسکات گرانت» (Scott Grant) برای افرادی نوشته شده است که هیچ تجربهای در زمینه برنامه نویسی ندارند. پایتون را یاد بگیرید، پایتون را تجزیه کنید با مقدمهای ساده و مناسب، آموزش برنامه نویسی را شروع میکند.
نویسنده کتاب از طریق ارائه مثالها و تمرینها، عناصر برنامههای پیچیدهتر را به صورت ساده برای خواننده ایجاد میکند. همچنین نشان میدهد که در کجا میتوان از از این عناصر استفاده کرد و چگونه میتوان آنها را تجزیه کرد. هدف نویسنده این کتاب، ایجاد سطحی از دانش است تا به خوانندگان کمک کند تا بتوانند به راحتی و با آسودگی خاطر، چیزهای جدید را مورد آزمایش قرار دهند و در انجام پروژهها خطرپذیری خود را بیشتر کنند. به طور خلاصه، هدف این کتاب، آسانتر کردن یادگیری برنامه نویسی برای دانشجویان است.
۸. کتاب Tiny Python Projects
کتاب «پروژههای کوچک پایتون» (Tiny Python Projects)، ۲۱ پروژه سرگرمکننده کوچک را در برمیگیرد. این پروژهها با هدف ایجاد مهارت در برنامه نویسی، آموزش الگوریتمها و روشهای جدید آن و معرفی تست نرم افزار ارائه شدهاند. این کتاب توسط «کن یونز کلارک» (Ken Youens-Clark) طراحی و نوشته شده و برای افراد مبتدی مناسب است.
۲۱ فعالیت سرگرمکننده اما قدرتمند در زمینه اصول پایتون از طریق پازل و بازی در کتاب پروژههای کوچک پایتون آموزش داده شدهاند. با هر تمرینی که در این کتاب ارائه شده، مخاطبین درگیر و سرگرم حل مسئله خواهند شد. زیرا در آن به مباحث دستکاری متن (Text Manipulation)، الگوریتمهای اصلی، لیستها و نوع داده دیکشنری در پایتون (Dictionary) و سایر مهارتهای ضروری برنامه نویسی پرداخته شده است. انجام رضایتبخش هر کدام ازاین پروژهها به افزایش تجربه و اعتماد بهنفس برنامه نویسان کمک میکند.
این کتاب بهجای این که مانند بسیاری از کتابها، طیف گستردهای از مفاهیم را به صورت سریع و سطحی بررسی کند؛ با انجام پروژههایی که شامل ایجادکننده رمز عبور، قافیه کلمات، تولید کنندهای (ژنراتور) برای «توهین شکسپیر» (Shakespearean Insult) و بسیاری از موارد دیگر، روی مفیدترین مهارتها، مانند دستکاری متن، ساختمان دادهها، جمعآوری و منطق برنامه تمرکز دارد. همچنین نویسنده این کتاب، تمرینهای برنامه نویسی خوبی مانند انجام آزمون (تست) برای کد را در حین برنامه نویسی آموزش میدهد.
۹. کتاب Beginner’s Python Cheat Sheets
کتاب «برگههای تقلب پایتون سطح مبتدی» توسط «اریک متس» (Eric Matthes) نوشته شده است و علاوه بر یادآوری سینتکس (ساختار نحوی | Syntax) پایتون، شامل موارد دیگری هم میشود. هنگامی که شخصی در حال یادگیری زبان برنامه نویسی است به خصوص اگر دانش قبلی در مورد برنامه نویسی نداشته باشد، آشنایی با ساختار نحوی و خلاصهای مختصر از مفاهیمی که در حال یادگیری آن است، میتواند مفید واقع شود.
این برگههای تقلب، توضیحات کوتاهی را از هر مفهوم اصلی، نحوه و علت استفاده از آنها ارائه میکنند. همچنین، شامل قطعههای کد کوتاهی میشوند که ساختار نحوی مربوطه را نشان میدهند. علاوه بر این، نکاتی در خصوص طرز تفکر پیرامون جنبههای مختلف برنامه نویسی در کتاب برگههای تقلب پایتون ارائه شدهاند و خواننده را به منابع مفید دیگر هدایت میکنند.
همچنین در این کتاب برای یادگیری عمیقتر و ایجاد ارتباط بین مفاهیم و اهداف آنها، پیشنهادهایی در اختیار خواننده قرار داده شده است. در ابتدا، این برگههای تقلب برای خوانندگان دورههای کوتاه مدت و مختصر پایتون (Python Crash Course) توسعه داده شده بودند، اما این کتاب برای همه افرادی مناسب است که با استفاده منابع مختلف نسبت به یادگیری پایتون اقدام میکنند. این مرجع یادگیری تاکنون بیش از ۱/۵ میلیون بار دانلود شده است.
۱۰. کتاب The Hitchhiker’s Guide to Python
کتاب The Hitchhiker’s Guide to Python، اثر «کنت رایتز» (Kenneth Reitz) و «تانیا شلوسر» (Tanya Schlusser) بهترین روشهای توسعه و برنامه نویسی پایتون را ارائه میکند. کتاب The Hitchhiker’s Guide to Python به پایتونیستهای سطح متوسط کمک میکند تا به مهارت واقعی دست یابند. پایتون با فلسفه سادگی و صرفهجویی بیشتر در زمان نسبت به زبانهای برنامه نویسی دیگر ایجاد شد. اکنون بیشتر از ۳۰ سال است که پایتون برای بسیاری از کاربران تجاری به زبان اصلی یا ثانویه (بعد از SQL) تبدیل شده است.
این کتاب راهنما، توسط بیش از ۱۰۰ نفر از اعضای جامعه پایتون نوشته شده است و بهترین روشهایی را توصیف میکند که در حال حاضر توسط توسعهدهندگان بستهها و اپلیکیشنها استفاده میشوند. بر خلاف کتابهای دیگری که برای این خوانندگان منتشر شدهاند، کتاب The Hitchhiker’s Guide to Python روی کدهای قابل استفاده مجدد و با فلسفه طراحی سنگینتر تمرکز دارد و خواننده را به سمت منابع عالی موجود هدایت میکند.
۱۱. کتاب Beyond the Basic Stuff with Python
یکی دیگر از کتابهای نوشته شده توسط Al Sweigart محسوب میشود. سوئیگارت در این کتاب، آموزش راهاندازی محیط توسعه، نامگذاری متغیرها و بهبود قابلیت خوانایی کدها را از طریق انتقال بهترین شیوهها شروع میکند. سپس به مستندات (Documentation)، سازماندهی و اندازهگیری عملکرد میپردازد. همچنین برنامه نویس را با برنامه نویسی شی گرا در پایتون و تجزیه و تحلیل الگوریتم Big-O آشنا میکند؛ در مصاحبههای برنامه نویسی چنین مفاهیمی بسیار مورد سوال قرار میگیرند.
مهارتهایی که در این کتاب آموزش داده میشوند، تواناییهای برنامه نویس را نه تنها در زبان برنامه نویسی پایتون، بلکه در هر نوع زبانی افزایش میدهند. البته هیچ کتابی نمیتواند شخص را به یک توسعهدهنده نرم افزار حرفهای تبدیل کند. اما کتاب «فراتر از مطالب پایه با پایتون» (Beyond the Basic Stuff with Python)، شخص را در این مسیر قرار میدهد و او را به برنامه نویس بهتری تبدیل میکند. زیرا فرد یاد میگیرد کدهای خوانایی بنویسد که اشکالزدایی آنها آسان و کاملاً «مبتنی بر اصول پایتون» یا به اصطلاح «Pythonic» باشند.
۱۲. کتاب Page Python Intro 100
کتاب «معرفی ۱۰۰ صفحهای پایتون»، توسط «ساندیپ آگاروال» (Sundeep Agarwal) نوشته شده است. این کتاب الکترونیکی رایگان برای افرادی مناسب است که از قبل با زبان برنامه نویسی پایتون آشنایی دارند.
این کتاب، راهنمایی کوتاه و مقدماتی برای زبان برنامه نویسی پایتون محسوب میشود و برای افرادی با شرایط زیر بسیار مناسب است:
- میتواند به عنوان مرجعی برای آموزشگاههای (Workshop) مقدماتی پایتون استفاده شود.
- برای افرادی که در خصوص زبان برنامه نویسی دیگری تجربه کاری دارند.
- برای افرادی که میخواهند پس از خواندن کتاب اصول پایتون، یک دوره ویدیویی یا مراجع دیگری را به عنوان مکمل این کتاب مشاهده کنند.
۱۳. کتاب Learning with Python: How to think like a Computer Scientist
Allen B. Downey، «جفری الکنر» (Jeffrey Elkner) و «کریس مایرز» (Chris Meyers) نویسندگان کتاب «یادگیری پایتون: چگونه مانند یک دانشمند کامپیوتر فکر کنیم» هستند. هدف از ارائه این راهنمای آنلاین، به کارگیری ترکیبی از ریاضیات، علوم طبیعی و مهندسی برای آشنایی با طرز تفکر یک دانشمند کامپیوتر است. همچنین، این کتاب به آموزش مهارت حل مسئله میپردازد که قابلیت منحصر به فرد هر دانشمند کامپیوتر محسوب میشود.
این کتاب به خوبی، نحوه برنامه نویسی و استفاده از مهارتهای برنامه نویسی را «به عنوان وسیلهای برای رسیدن به هدف» آموزش میدهد. علاوه بر این، حاوی بستهای از تمرینهای کدنویسی است و بسیاری از مفاهیم پایتون را پوشش میدهد. در مجموع، کتاب Learning with Python، انتخابی عالی برای افراد مبتدی است که به طور کلی در مورد برنامه نویسی کنجکاو هستند.
فیلم های آموزش برنامه نویسی پایتون
در سایت تم آف آموزشهای متعددی برای حوزههای مختلف ارائه شده است. این آموزشهای مرتبط در قالب مجموعههای آموزش در اختیار مخاطبین قرار گرفتهاند. در این بخش از مطلب آموزشی به معرفی تعدادی از دورههای آموزشی موجود در مجموعه آموزش برنامه نویسی پایتون (Python) پرداخته شده است. این مجموعه آموزشی حاوی ۴۴ دوره آموزشی در قالب بیش از ۲۵۱ ساعت است. در ادامه به معرفی آموزش برنامه نویسی پایتون Python – مقدماتی به عنوان اولین دوره آموزشی برای شروع این زبان برنامه نویسی پرداخته میشود:
- آموزش برنامه نویسی پایتون – مقدماتی (مدت زمان: ۱۹ ساعت و ۵۳ دقیقه، مدرس: مهندس پژمان اقبالی شمس آبادی): این دوره آموزشی به مفاهیم پایهای و نحوه برنامه نویسی پایتون میپردازد. برای مشاهده فیلم آموزش برنامه نویسی پایتون – مقدماتی + کلیک کنید.
- آموزش برنامه نویسی پایتون – تکمیلی – بخش یکم (مدت زمان: ۱۳ ساعت و ۹ دقیقه، مدرس: مهندس پژمان اقبالی شمس آبادی): در این آموزش، جنبههای مختلفی از برنامهنویسی پایتون شامل داده ساختارها، الگوریتمها و بسیاری موارد دیگر آموزش داده میشود. برای مشاهده فیلم آموزش برنامه نویسی پایتون – تکمیلی + کلیک کنید.
- آموزش برنامه نویسی پایتون + مثالهای عملی (مدت زمان: ۱۳ ساعت و ۲۰ دقیقه، مدرس: دکتر فرشید شیرافکن): این آموزش به مباحثی مانند انواع دادهها، عملگردها، دستورات شرطی و بسیاری موارد دیگر میپردازد. برای مشاهده فیلم آموزش برنامه نویسی پایتون + مثالهای عملی + کلیک کنید.
- آموزش برنامه نویسی شی گرا در پایتون (طول زمان: ۷ ساعت و ۲۹ دقیقه، مدرس: دکتر فرشید شیرافکن): در این دوره آموزشی، مفاهیم شی گرایی در پایتون مانند کلاس، وراثت، پلی مورفیسم و بسیاری موارد دیگر آموخته میشود. برای مشاهده فیلم آموزش برنامه نویسی شی گرا در پایتون + کلیک کنید.
- آموزش کتابخانههای NumPy و Matplotlib در پایتون (طول زمان: ۴ ساعت و ۴۶ دقیقه، مدرس: مهندس میترا تجربه کار): این دوره آموزشی، تکمیلکننده دوره مقدماتی پایتون است و به آموزش NumPy و رسم نمودار در پایتون با Matplotlib میپردازد. برای مشاهده فیلم آموزش کتابخانههای NumPy و Matplotlib در پایتون + کلیک کنید.
- آموزش فریمورک تحت وب Django با پایتون (مدت زمان: ۸ ساعت و ۱۵ دقیقه، مدرس: پدارم شاه صفی): این دوره آموزشی به مباحث تئوری همراه با مثال میپردازد و در انتها، پروژهای کامل پیادهسازی میشود. برای مشاهده آموزش فریمورک Django با پایتون + کلیک کنید.
۱۴. کتاب Cracking Codes with Python
این کتاب که یکی دیگر از آثار Al Sweigart محسوب میشود، آموزش برنامه نویسی پایتون را با برنامههای ساده برای رمزهای معکوس و سزار (Caesar) شروع میکند. سپس به مبحث «رمزنگاری کلید عمومی» (Public Key Cryptography) میپردازد. امروزه از این نوع رمزنگاری برای ایمنسازی تراکنشهای آنلاین از جمله «امضای دیجیتال» (Digital Signatures)، ایمیل و بیت کوین استفاده میشود. هر برنامهای که در این کتاب ارائه شده است، شامل تمام کدها و توضیح خط به خط پیرامون نحوه کار کردن آنها است.
در پایان کتاب نیز نحوه برنامه نویسی زبان پایتون به فراگیران آموزش داده میشود و برنامههای هوشمندانهای برای تثبیت دانستهها ارائه شدهاند. برای یادگیری برنامه نویسی، هیچ راه بهتری نسبت به بازی با برنامههای واقعی وجود ندارد. «Cracking Codes with Python»، یادگیری را لذتبخش میکند.
۱۵. کتاب Natural Language Processing with Python
کتاب «پردازش زبان طبیعی با پایتون» (Natural Language Processing with Python) که توسط «ادوارد لوپر» (Edward Loper) و همکاران نوشته شده است، مقدمهای بسیار قابل درک را برای پردازش زبان طبیعی ارائه میکند. زمینههای کاری این کتاب، انواع فناوریهای زبان از پیشبینی متن و فیلتر ایمیل گرفته تا خلاصهسازی (Summarization) و ترجمه خودکار را پشتیبانی میکند. فراگیران با خواندن این کتاب، نحوه کدنویسی برنامههای پایتونی را فراخواهند گرفت که با مجموعههای بزرگی از «متن غیر ساختیافته» (Unstructured Text | بدون ساختار) کار میکنند.
آنها با استفاده از طیف گستردهای از ساختمان دادههای زبانی به مجموعه دادههای حاشیهنویسی شده (نشانهگذاری شده | Annotated) بسیار زیادی دست مییابند. همچنین الگوریتمهای اصلی برای تجزیه و تحلیل محتوا و ساختار ارتباطات نوشتاری را درک خواهند کرد. این کتاب پر از مثالها و تمرینهایی است که به فراگیران در حوزههای زیر کمک میکند:
- استخراج اطلاعات از متن غیر ساختیافته برای حدس زدن موضوع یا شناسایی «موجودیتهای نامگذاری شده»
- تجزیه و تحلیل ساختار زبانی در متن از جمله تجزیه و تحلیل معنایی (Semantic)
- دسترسی به پایگاه دادههای زبانشناختی محبوب از جمله WordNet و درختبانکهای نحوی (Treebank)
- ادغام روشهای استخراج شده از حوزههای متنوعی مانند زبانشناسی و هوش مصنوعی (Artificial Intelligence)
این کتاب با استفاده از زبان برنامه نویسی پایتون و کتابخانه منبع باز جعبه ابزار زبان طبیعی به برنامه نویسان کمک میکند تا مهارتهای عملی را در پردازش زبان طبیعی کسب کنند. کتاب پردازش زبان طبیعی با پایتون معرفی شده در این بخش، کتابی بسیار غنی و مفید است. این کتاب به خصوص برای افرادی با شرایط زیر، میتواند بسیار جذاب و فوقالعاده مفید باشد:
- در صورتی که شخصی علاقهمند به توسعه اپلیکیشنهای وب، تجزیه و تحلیل منابع خبری چند زبانه یا مستندسازی زبانهای در معرض خطر باشد.
- اگر شخص کنجکاو باشد که دیدگاهی مانند برنامه نویسان در مورد نحوه عملکرد زبان انسانی داشته باشد.
۱۶. کتاب Problem Solving With Algorithms And Data Structures Using Python
«حل مسئله با الگوریتمها و ساختمان دادهها با استفاده از پایتون»، کتابی است که توسط «بردلی ان میلر» (Bradley N Miller) و «دیوید ال.رانوم» (David L. Ranum) نوشته شده است. این درسنامه طراحی شد تا به عنوان کتاب درسی برای اولین دوره در حوزه ساختمان دادهها و الگوریتمها به کار رود. ساختمان دادهها و الگوریتمها، معمولاً به عنوان دومین دوره در برنامه درسی علوم کامپیوتر تدریس میشوند؛ با وجود این که معمولاً دوره دوم پیشرفتهتر از دوره اول در نظر گرفته میشود، این کتاب با فرض مبتدی بودن برنامه نویس طراحی شده است و مباحث مربوطه را از پایه ارائه میکند.
ممکن است برنامه نویس، همچنان با برخی از ایدهها و مهارتهای پایهای از اولین دوره علوم کامپیوتر مشکل داشته باشد و در عین حال بخواهد این رشته را بیشتر پیگیری و برای حل مسئله تمرین کند، این کتاب با فرض مبتدی بودن خواننده نوشته شده است تا نیاز این دسته از فراگیران را برآورده سازد. در این کتاب، انواع دادههای انتزاعی و ساختمان دادهها، نوشتن الگوریتمها و حل مسائل پوشش داده شده است. بنابراین، فراگیران با تعدادی از ساختمان دادهها آشنا میشوند و مسائل نمونه به وجود آمده را حل خواهند کرد. ابزارها و تکنیکهایی که در این کتاب آموزش داده شدهاند با ادامه تحصیل در رشته علوم کامپیوتر، بارها و بارها به کار میروند.
۱۷. کتاب Python Data Science Handbook
پایتون، ابزار درجه یکی برای بسیاری از محققان محسوب میشود. این محبوبیت، عمدتاً به خاطر وجود کتابخانههای پایتون برای ذخیرهسازی (Storing)، دستکاری و دستیابی به بینش از دادهها ایجاد شده است. امکانات مختلفی برای بخشهای منحصر به فرد این پشته علم داده (Data Science Stack) وجود دارد. اما فقط با «کتاب راهنمای علم داده پایتون» (Python Data Science Handbook) که توسط «جیک وندرپلاس» (Jake VanderPlas) تالیف شده است، میتوان همه این امکانات را دریافت کرد.
IPython ،NumPy ،Pandas ،Matplotlib ،Scikit-Learn و سایر ابزارهای مرتبط از جمله بخشها و امکاناتی هستند که در این کتاب ارائه میشوند. دانشمندان فعال و تحلیلگران دادهای که با خواندن و نوشتن کد پایتون آشنا هستند، این مرجع کاربردی را برای مقابله با مسائل روزمره، ایدهآل میدانند. برخی از این مسائل در ادامه فهرست شدهاند:
- دستکاری، تبدیل (Transform) و پاکسازی دادهها
- بصریسازی انواع مختلفی از دادهها
- استفاده از دادهها برای ساخت مدلهای آماری یا یادگیری ماشین
به بیان ساده، این مرجع برای محاسبات علمی در پایتون ضروری است.
۱۸. کتاب Test-Driven Development with Python
کتاب «توسعه آزمون محور با پایتون: با استفاده از جنگو (Django)، سلنیوم (Selenium) و جاوا اسکریپت (Javascript)»، اثر هری پرسیوال (Harry Percival) است. ویرایش دوم این راهنمای کاربردی، مزایای عملی توسعه آزمون محور (Test-Driven Development | TDD) با پایتون را از طریق توسعه کامل یک اپلیکیشن وب واقعی نشان میدهد. با استفاده از این کتاب، برنامه نویس یاد خواهد گرفت که چگونه قبل از ساختن هر قسمت از برنامه، آزمونها را بنویسد و اجرا کند. سپس یاد میگیرد که حداقل مقدار کد مورد نیاز برای قبولی در آن آزمونها را ایجاد کند.
نتیجه این کار، کد تمیزی (Clean code) خواهد بود که به درستی کار میکند. در این فرایند آموزش، اصول جنگو، سلنیوم، سیستم کنترل نسخه گیت (Git)، جی کوئری (jQuery) و موک (Mock) به همراه روشهای توسعه وب فعلی، آموزش داده شدهاند. این کتاب برای افرادی مناسب است که میخواهند مهارتهای برنامه نویسی پایتون خود را به سطح بالاتری ببرند، همچنین بروزرسانیهای لازم برای نسخه ۳.۶ پایتون نیز در این کتاب ارائه شده است. علاوه بر این در این کتاب به وضوح نشان داده میشود که چگونه میتوان با استفاده از TDD طراحیهای ساده را تقویت کرد. مطالعه و تسلط بر مباحث این کتاب باعث افزایش اعتماد به نفس برنامه نویسان خواهد شد.
۱۹. کتاب Full Speed Python
کتاب «Full Speed Python» اثر «جوا اونتورا» (Joa Oventura) است و هدف آن آموزش زبان برنامه نویسی پایتون با رویکردی عملی است. روش آموزش این کتاب بسیار ساده است. در این کتاب، پس از ارائه مقدمهای کوتاه برای هر موضوع از خواننده دعوت میشود تا با حل تمرینهای پیشنهادی، مطالب بیشتری بیاموزد. این تمرینها به طور گسترده در پروژههای توسعه وب نویسنده و کلاسهای محاسبات توزیع شده (Distributed Computing) در مدرسه برتر فناوری Setúbal استفاده شده است.
با انجام این تمرینها، اکثر فراگیران در مدت زمانی کمتر از یک ماه با سرعت به زبان برنامه نویسی پایتون مسلط میشوند. در واقع، دانشجویان دوره محاسبات توزیع شده که در سال دوم رشته مهندسی نرم افزار تحصیل میکنند در طول دو هفته با ساختار نحوی پایتون آشنا میشوند و در هفته سوم قادر به پیادهسازی اپلیکیشن کلاینت-سرور توزیع شده با سوکتها (Socket) هستند.
۲۰. کتاب Making Games with Python and PyGame
کتاب «بازی سازی با پایتون و پای گیم» (Making Games with Python and PyGame) توسط AI Sweigart نوشته شده است. این کتاب برنامه نویسی، آموزش کتابخانه بازی Pygame را برای زبان برنامه پایتون پوشش میدهد. در کتاب بازی سازی با پایتون و PyGame، آموزش کتابخانه پای گیم را از طریق کد منبع ۱۱ بازی ارائه میکند. کتاب ساخت بازی با پایتون و PyGame به عنوان بخش بعدی برای همان محدوده سنی کتاب «ساختن با پایتون» (Invent With Python) نوشته شده است.
پس از یادگیری و درک اصول برنامه نویسی پایتون، میتوان تواناییهای خود را با استفاده از کتابخانه Pygame برای ساخت بازیهای دارای گرافیک، انیمیشن و صدا توسعه داد. این کتاب دارای کد منبع ۱۱ بازی است. این بازیها شبیهسازیهایی از آثار کلاسیک مانند Nibbles ،Tetris ،Simon Bejeweled ،Othello ،Connect Four ،Flood It و موارد دیگر هستند.
۲۱. کتاب A Byte of Python
کتاب «یک بایت از پایتون» (A Byte of Python) که توسط «سواروپ سیاچ» (Swaroop CH) نوشته شده است، زبان برنامه نویسی پایتون را از طریق رویکردی ساده آموزش میدهد. منحنی ملایم یادگیری کتاب و نمونه کدهای مبتنی بر پروژه به توسعه برنامههای سطح مبتدی پایتون کمک میکند.
این کتاب از طریق توسعه کد و برنامه نویسی برای حل مسائل عملی، مانند تهیه نسخه پشتیبان از فایلها، پایتون را به برنامه نویسان آموزش میدهد. در طول این فرایند، نویسنده از طریق اصلاحات برنامه، دانشجو را راهنمایی میکند که این رویکرد در نهایت منجر به گسترش دانش او خواهد شد.
۲۲. کتاب Python Notes for Professionals
کتاب «نکات پایتون برای حرفهایها» (Python Notes for Professionals)، حاوی مباحثی فراتر از اصول اولیه پایتون است. این کتاب به آن دسته از برنامه نویسان پایتون که در سطح مهارتهای مبتدی و متوسط هستند، ابزارها و ساختارهای کمتر شناخته شدهای را میآموزد که کد مختصر و قابل نگهداری دارند.
همچنین با مطالعه این کتاب، آنها میتوانند معماری بهتری را طراحی کنند و کدهای قابل فهمتری را با استفاده از تکنیکهای بسیار مطرح بنویسند که منجر به ساخت برنامههای قویتر و کارآمدتری میشود. کتاب نکات پایتون برای حرفهایها از مستندات Stack Overflow گردآوری و محتوای آن نیز توسط افراد خبره Stack Overflow نوشته شده است.
۲۳. کتاب Think Complexity
«علم پیچیدگی و مدلسازی محاسباتی» کتابی است که توسط Allen B. Downey نوشته شد. این کتاب در مورد «علم پیچیدگی» (Complexity Science)، ساختمان دادهها، الگوریتمها، برنامه نویسی سطح متوسط در پایتون و فلسفه علم است. همچنین در این کتاب، تمرکز روی مدلهای گسسته (Discrete Model) قرار داده شده است که شامل گرافها، اتوماتای سلولی (Cellular Automata) و مدلهای مبتنی بر عامل (Agent-Based) میشود.
آنها به جای معادلات، اغلب با ساختار، قواعد و روندها مشخص میشوند. مدلهای گسسته انتزاعیتر از مدلهای پیوسته هستند و در برخی موارد هیچ تناسب مستقیمی بین مدل و یک سیستم فیزیکی وجود ندارد.
۲۴. کتاب How To Code in Python 3
«لیزا تاگلیافری» (Lisa Tagliaferri) نویسنده کتاب «نحوه کدنویسی در پایتون» (How To Code in Python 3) است. این کتاب به آموزش مقدماتی برنامه نویسی کامپیوتر با پایتون ۳ میپردازد. همچنین، مفاهیم کلیدی پایتون را به خوانندگان میآموزد و به آنها کمک میکند تا نحوه کار برنامهها را درک کنند. در عین حال منطق پایهای را ارائه میدهد که به خوانندگان برای فعالیت در حوزههای دیگر خدمت میکند.
هدف این کتاب، افزایش سرعت یادگیری توسعهدهندگان و افراد دیگری است که مشتاق یادگیری پایتون هستند. این کتاب، علاوه بر آموزش اصول ساختار نحوی پایتون، سالها تجربه را در خلال آموزش به صورت فشرده در اختیار فراگیران قرار میدهد.
۲۵. کتاب Advanced Python Tips
کتاب «نکات پیشرفته پایتون» (Advanced Python Tips)، یکی از آثار «راهول آگاروال» (Rahul Aggarwal) است. نویسنده در این کتاب بر این باور بوده که یادگیری زبان برنامه نویسی آسان است. با شروع یادگیری یک زبان برنامه نویسی جدید در هر زمان، روی چند چیز مانند عملیات و حلقههای (Loop) مشترک در هر زبان برنامه نویسی تمرکز میشود و شروع نوشتن کد در هر زبانی بسیار آسان است. با این حال، یادگیری برنامه نویسی در یک زبان و نوشتن زبانی به روشی بهینه، دو مسئله کاملاً متفاوت هستند.
هر زبان دارای اجزایی است که آن را منحصر به فرد میکند. با این حال، یک فرد تازه کار در هر زبانی، بعضی از تنظیمات اجباری را باید انجام دهد. در این کتاب الکترونیکی، نویسنده بعضی از ساختارهای پیشرفته ایجاد شده توسط پایتون، برخی از نکات ضروری و موارد کاربردی را توضیح میدهد که به طور منظم در کارهای علم داده خود به دست آورده است.
۲۶. کتاب Inside the Python Virtual Machine
«در ماشین مجازی جاوا» (Inside The Python Virtual Machine) کتابی است که توسط (Obi Ike-Nwosu) نوشته شده است. این کتاب، راهنمایی را در مورد آنچه زیر پوششهای مفسر پایتون رخ میدهد برای پایتونیستهای کنجکاو فراهم میکند. پایتونیست به شخصی گفته میشود که از زبان برنامه نویسی پایتون برای انجام پیادهسازیهای خود استفاده کند. نویسنده در این کتاب سعی میکند به خواننده نشان دهد از لحظهای که کاربر قطعه کد پایتونی را اجرا میکند تا نقطهای که مفسر، نتیجه اجرای قطعه کد را برمیگرداند، چه اتفاقی میافتد.
این کتاب، فرآیندهای مختلف انجام شده برای کامپایل و اجرای یک برنامه پایتون را برای خوانندگان شرح میدهد و به این ترتیب، بیشتر رمز و راز مربوط به نحوه اجرای کد منبع پایتون را برای آنها از بین میبرد. کتاب Inside the Python Virtual Machine با توصیفی از مرحله کامپایل شروع میشود و روی بخشهای کمتر عمومی مرحله کامپایل تاکید دارد.
سپس به مبحث اشیاء در پایتون و پیادهسازی آنها در CPython میپردازد. پس از آن به بررسی بحثی انواع اشیاء مختلفی که اصلیترین مولفه برای مفسر هستند، مانند اشیاء فریم (Frame Object) و اشیاء کد (Code Object) پرداخته میشود. در این حوزه، فرآیند ارزیابی اشیاء کد به وسیله حلقه مفسر و همچنین نحوه توسعه زبان برنامه نویسی پایتون با ساختارهای خود مورد بحث قرار گرفته است.
۲۷. کتاب The Little Book of Python Anti-Patterns
«کتاب کوچک ضد الگوهای پایتون» (The Little Book of Python Anti-Patterns) توسط Quantified Code نوشته شده است. یادگیری ضد الگوهای پایتون به برنامه نویس کمک میکند تا از به کار بردن ضد الگوها در کد خود اجتناب کند. همچنین باعث میشود که او به برنامه نویس بهتری تبدیل شود. هر الگو با تصویری کوچک، مثالها و راه حلها همراه شده است.
نویسندگان کتاب کوچک ضد الگوهای پایتون معتقد بودند «تعداد زیادی کتاب پایتون وجود دارد که نحوه انجام کارها از طریق تمرکز روی بهترین شیوهها و نمونه کدهای خوب را به برنامه نویسان میآموزد». در حالی که کتابهای بسیار کمی وجود دارند که به برنامه نویس نشان میدهند چه کارهایی را برای اجرای کد و برنامه نویسی بهتر، انجام ندهد. نویسندگان این کتاب گفتهاند، هدف ما ارائه کتابی ضد الگو برای تغییر این رویه است تا به برنامه نویس چیزهایی را بیاموزد که هرگز نباید در عمل انجام دهد.
۲۸. کتاب Code With Repl.it
کتاب (Code With Repl.it)، شامل پروژههای پایتون برای افراد مبتدی، سطح متوسط و برنامه نویسان با تجربه است که توسط Ritza منتشر شد. این کتاب الکترونیکی برای افرادی مناسب است که در حال یادگیری پایتون هستند و نیاز به انجام پروژههای بیشتری دارند. این کتاب، بیش از ۱۵ پروژه را با استفاده از زبان برنامه نویسی پایتون (و گاهی اوقات Node.js) ارائه میکند. با استفاده از این کتاب، برنامه نویس نه تنها مهارتهای برنامه نویسی پایتون خود را به طور قابل توجهی بهبود خواهد بخشید، بلکه برنامههای مفیدی نیز برای استفاده و قرار دادن در رزومه خود خواهد داشت.
۲۹. کتاب Non-Programmer’s Tutorial for Python 3
کتاب «خودآموز غیر برنامه نویسان برای پایتون ۳» (Non-Programmer’s Tutorial for Python 3) توسط «جاش کولیاتی» (Josh Cogliati) نوشته شد. این کتاب برای زبان برنامه نویسی پایتون ۳ طراحی شده و برای افرادی است که تجربه برنامه نویسی ندارند. آموزش در این کتاب، بدون نیاز به دانش برنامه نویسی شروع میشود و نحوه ایجاد برنامهها از طریق مثالها، توضیحات و تمرینها آموزش داده خواهد شد.
در واقع، فقط یک راه برای یادگیری برنامه نویسی وجود دارد. برای این کار، شخص باید کدهای دیگران و کدهای موجود در تمرینها را بررسی کند و بنویسد. کدهای زیادی در داخل این کتاب راهنما وجود دارند که استفاده از آنها به برنامه نویسان پیشنهاد میشود. در یادگیری برنامه نویسی، ابتدا باید کدها را نوشت و آنها را اجرا کرد تا مشخص شود چه اتفاقی میافتد. برای تسلط بیشتر در برنامه نویسی، باید با کد بازی کرد، آن را تغییر داد یا ویژگیهایی را به آن افزود. بدترین اتفاقی که میتواند رخ دهد این است که کد کار نکند. رفع خطای کدها، یکی دیگر از کارهایی است که باعث تبحر برنامه نویس میشود.
۳۰. کتاب Slither Into Python
کتاب Slither Into Python، مقدمه ای در مورد زبان برنامه نویسی پایتون ارائه میدهد و افراد کاملاً مبتدی، مخاطبین اصلی این کتاب هستند. مطالعه این کتاب، به تجربه قبلی برنامه نویسی یا پیشزمینه آشنایی با علوم کامپیوتر نیاز ندارد و برخلاف سایر منابع آموزشی زبان پایتون، مفاهیم مهم علوم کامپیوتر مانند حافظه یا نحوه کار کامپیوترها نیز در آن توضیح داده میشود. همچنین، نویسنده به مبانی زبان برنامه نویسی پایتون میپردازد و علاوه بر آن، مفاهیم مهم دیگر را هم معرفی کرده است.
به زبان ساده، کدنویسی یا برنامه نویسی کامپیوتری در مورد این است که رایانهها کاری را انجام دهند که برنامه نویس از آنها میخواهد. به عبارت دیگر، علم رایانه در مورد نحوه انجام خواستههای برنامه نویس، توسط کامپیوترها است. هدف این کتاب این است که دقیقاً این کارها را از طریق زبان پایتون انجام دهد و این زبان را به افراد مبتدی بیاموزد.
۳۱. کتاب Boxes: Your Second Python Book
نویسنده کتاب Your Second Python Book، «روبرتو آلسینا» (Roberto Alsina) است و آن را دومین کتاب مناسب برای فراگیران زبان برنامه نویسی پایتون معرفی کرده است. پیشنیاز مطالعه این کتاب، دانش اولیه در مورد زبان برنامه نویسی پایتون است. بنابراین برای کسب سودمندی بیشتر از این کتاب، نیاز به آشنایی با زبان پایتون وجود دارد.
کدهای موجود در این کتاب تا حد امکان ساده نوشته شدهاند و دانش و درک خوانندگان از زبان برنامه نویسی پایتون باید در حدی باشد که بتوانند تمام کدهای موجود در کتاب را بفهمند. این کتاب برای خوانندگانی که دانش عمیقتری از زبان پایتون یا تجربه برنامهنویسی بیشتر دارند هم میتواند مفید باشد، اما بسیاری از آنها، مطالعه بخش اول کتاب را خستهکننده میدانند.
۳۲. کتاب Python re(gex)
Sundeep Agarwal، نویسنده کتاب Python re(gex) است و آن را به عنوان ابزاری جادویی برای پردازش متن معرفی میکند. این کتاب مثال محور است و از طریق ارائه مثالهای زیاد، تمام ویژگیهای عبارات منظم را به مرور آموزش میدهد. برای یادگیری بهتر، نویسنده پیشنهاد میکند که همزمان با مطالعه کتاب هر مثال به صورت دستی تایپ شود و نتیجه اجرای آن بررسی شود.
به منظور بهرهبرداری کامل از مباحث این کتاب، نیاز است که خواننده با مفاهیمی مانند قالبهای رشته (String Format)، متدهای رشته، درک لیست و سایر موارد دیگر آشنایی داشته باشد. جهت آشنایی با پیشپردازش متن در پایتون، مطالعه مقاله آموزشی زیر به علاقهمندان پیشنهاد میشود:
- مقاله پیشنهادی: پیش پردازش متن در پایتون — راهنمای جامع
۳۳. کتاب Python Tips: Intermediate Python
کتاب «نکات پایتون: پایتون سطح متوسط» توسط «محمد یعسوب الله خالد» (Muhammad Yasoob Ullah Khalid) به رشته تحریر درآمده است. مستندات کافی برای فراگیران وجود ندارد که پس از یادگیری اصول اولیه پایتون، آنها را راهنمایی کند تا چه چیزی فرا بگیرند. هدف نویسنده این کتاب نیز، حل همین مشکل بوده است. نویسنده در این کتاب، اطلاعات کمی در مورد برخی موضوعهای جالب به خواننده میدهد تا آنها را بیشتر بررسی و پیگیری کند. موضوعهایی که در این کتاب مطرح شدهاند، ذهن مخاطب را به زوایای زیبای زبان برنامه نویسی پایتون باز میکنند.
این کتاب برای بسیاری از افراد از جمله برنامه نویسان مبتدی، سطح متوسط یا حتی حرفهای، مناسب است. باید توجه کرد که این کتاب، یک منبع آموزشی نیست و زبان برنامه نویسی پایتون را آموزش نمیدهد. به بیان دیگر، در این کتاب موضوعها به طور عمیق توضیح داده نشدهاند و فقط حداقل اطلاعات مورد نیاز برای پیگیری بیشتر خوانندگان ارائه شده است.
۳۴. کتاب Python 3 Patterns, Recipes and Idioms
جامعه هدف کتاب «الگوها، دستور العملها و اصطلاحات پایتون ۳» برنامه نویسان با تجربهتر پایتون هستند که میخواهند درک و دانش خود را در این زبان و اصطلاحات برنامهنویسی مدرن افزایش دهند. بسیاری از مطالب ارائه شده در این کتاب روی بعضی از تکنیکهای پیشرفتهتری تمرکز دارند که توسط کتابخانهها، فریم ورکها و اپلیکیشنها استفاده میشوند.
از طریق به کارگیری الگوهای ضروری طراحی مهندسی نرم افزار در پایتون، کد پایتون حتی از پروژهای به پروژه دیگر کارآمدتر و قابل استفادهتر میشود. دستورالعملها (Recipe) حاوی رویکرد حل مشکل برای رفع مسائل رایجی هستند که معمولاً برنامه نویسان پایتون در سراسر جهان با آنها مواجه میشوند. برنامه نویسان از طریق مطالعه این کتاب به دانش ایجاد برنامههای کاربردی دارای رویدادنگاری (logging | ثبت اتفاقات) انعطافپذیر، پیکربندی قدرتمند و گزینههای خط فرمان (Command-Line)، تستهای واحد خودکار و مستندات به خوبی مسلط خواهند شد.
۳۵. کتاب PySDR
کتاب PySDR، راهنمایی برای «رادیوی نرم افزاری» (SDR | Software Defined Radio) و پردازش سیگنال دیجیتال (DSP | Digital Signal Processing) با استفاده از زبان برنامه نویسی پایتون محسوب میشود که توسط «دکتر مارک لیختمن» (Marc Lichtman) نوشته شده است. این کتاب درسی به عنوان مقدمهای عملی در زمینههای DSP ،SDR و ارتباطات بی سیم به کار میرود. در ادامه ویژگیهای افراد مختلفی فهرست شده که این کتاب برای آنها مناسب است:
- افرادی که علاقهمند به استفاده از SDRها برای انجام کارهای جالب هستند.
- اشخاصی که با زبان برنامه نویسی پایتون رابطه خوبی دارند.
- فراگیرانی که با تکنیکهای نسبتاً جدید مانند DSP، ارتباطات بی سیم و SDR آشنا هستند.
- فراگیران بصری که انیمیشنها را به معادلات ترجیح میدهند از جمله افرادی هستند که این کتاب برای آنها مناسب است.
- افرادی که پس از یادگیری مفاهیم، درک معادلات بهتری داشته باشند.
- اشخاصی که به جای یک کتاب درسی ۱۰۰۰ صفحهای به دنبال توضیحات مختصری برای یادگیری پایتون هستند.
۳۶. کتاب Python for Network Engineers
«پایتون برای مهندسان شبکه» (Python for Network Engineers) کتابی است که توسط «ناتاشا سامویلنکو» (Natasha Samoylenko) نوشته شد. از یک طرف، این کتاب به اندازه کافی پایهای است که باعث مسلط شدن هر شخصی در این حوزه شود. از طرف دیگر، تمام موضوعهای اصلی در این کتاب پوشش داده شدهاند که به برنامه نویسان کمک میکند تا به تنهایی بیشتر رشد کنند. در این کتاب به صورت عمیق به زبان برنامه نویسی پایتون پرداخته نمیشود. بلکه هدف این کتاب، توضیح اصول اولیه زبان پایتون به بیانی ساده است تا درک درستی از ابزارهای ضروری پایتون به دست آید.
همه مطالب ارائه شده در این کتاب، روی تجهیزات شبکه و تعامل با آن متمرکز شده است. این ویژگیها باعث میشود که بلافاصله، امکان استفاده از دانش به دست آمده در کار روزانه مهندسان شبکه فراهم شود. همه مثالها با استفاده از تجهیزات سیسکو به عنوان نمونه نشان داده شدهاند، البته آنها برای هر تجهیزات دیگری نیز اعمال میشوند.
۳۷. کتاب Algorithmic Problem Solving with Python
این کتاب از زبان برنامه نویسی پایتون برای آشنا کردن مردم با برنامه نویسی و تفکر الگوریتمی استفاده میکند. این کتاب به شدت روی الگوریتمهای کلاسیک تمرکز دارد، اما همچنین درک کاملی از تکنیکهای اساسی حل مسئله الگوریتمی را ارائه میدهد. نویسندگان این کتاب «جان بی اشنایدر» (John B. Schneider)، «شیرا لین بروشات» (Shira Lynn Broschat) و «جس داهمن» (Jess Dahmen) هستند.
این کتاب به شیوهای بسیار خواندنی به برخی از مهمترین و چالش برانگیزترین حوزههای برنامه نویسی و علوم کامپیوتر میپردازد. علاوه بر این، هم نظریه الگوریتمی و هم تمرین برنامه نویسی را پوشش میدهد و نحوه انعکاس نظریه الگوریتمی در برنامههای پایتون واقعی را نشان میدهد. الگوریتمها و ساختمان دادههای شناخته شده که در زبان پایتون ساخته شدهاند نیز در این کتاب توضیح داده میشوند. همچنین به کاربر نشان داده میشود که چگونه الگوریتمها و ساختارهای دیگر را پیادهسازی و ارزیابی کند.
۳۸. کتاب Exploring Python Basics
«نائومی سدر» Naomi Ceder، نویسنده کتاب «کاوش اصول پایتون» (Exploring Python Basics) است. این کتاب، مجموعهای از فصول چندین کتاب مختلف Manning است که با هم ترکیب شدهاند تا فراگیر بتواند با استفاده از آن، همه چیز را در مورد پایتون فرا بگیرد. فصلهای این کتاب که توسط نائومی سدر، بنیانگذار همایش آموزش پایتون (Python Education Summit) انتخاب شدهاند به برنامه نویس کمک میکنند تا اصول برنامه نویسی، ویژگیها و ساختار نحوی پایتون و کدنویسی با رزبری پای (Raspberry Pi) را فرا بگیرند.
حتی نحوه استفاده از پایتون برای مدلسازی دادهها به منظور ایجاد پیشبینیهای دقیق هم در این کتاب هم پوشش داده شدهاند. به طور معمول، پس از اتمام مطالعه، برنامه نویسان از یادگیری پایتون و استفاده از آن بسیار راضی خواهند بود و آماده ادامه سفر آموزشی خود در این زبان برنامه نویسی همواره مفید هستند.
۳۹. کتاب Python For You and Me
کتاب «پایتون برای تو و من»، کتابی ساده برای یادگیری زبان برنامه نویسی پایتون است که توسط «کوشال داس» (Kushal Das) به تحریر درآمد. این کتاب برای برنامه نویسانی است که به تازگی با زبان پایتون آشنا شدهاند. این کتاب با روشی آسان، زبان پایتون را به برنامه نویس آموزش میدهد تا بتواند با استفاده از آن، پروژههای خود را تکمیل کند.
برنامه نویسان با مطالعه کتاب و پیادهسازی آنچه که یاد میگیرند، متوجه خواهند شد که چرا موسسات بزرگی مانند ناسا (NASA)، گوگل، موزیلا، یاهو، دراپباکس (Dropbox)، IBM، فیسبوک و بسیاری از شرکتهای دیگر، ترجیح میدهند از زبان پایتون در محصولات، خدمات و فرآیندهای تجاری اصلی خود استفاده کنند.
۴۰. کتاب Beej’s Guide to Python Programming
«کتاب راهنمای Beej برای برنامه نویسی پایتون»، کتاب مناسبی برای علاقهمندان به برنامه نویسی پایتون و افراد مبتدی است. این کتاب اصول اولیه برنامه نویسی پایتون را از ابتدا و به صورت کامل آموزش میدهد. فراگیران با یادگیری این کتاب پیشرفت میکنند و به توسعهدهنده سطح متوسط و حلکننده مسئله تبدیل میشوند.
اما در پایان کتاب، برخی از تکنیکهای برنامه نویسی توسعه داده میشوند که فراتر از زبانهای برنامه نویسی هستند. ممکن است که شخص پس از شروع زبان پایتون، زبان برنامه نویسی دیگری مانند جاوا اسکریپت، زبان برنامه نویسی Go یا Rust را امتحان کند. تمام این زبانها، ویژگیهای خاص خود را برای کشف و یادگیری دارند.
۴۱. کتاب Object Oriented Programming with Python
کتاب «برنامه نویسی شی گرا با پایتون»، کتابی راهنمای ساده، معتبر و کامل برای برنامه نویسی شی گرای پایتون ۳ است. این کتاب به عنوان آموزش اصول اولیه OOP با پایتون ۳ به دست «اشوینت پاجانکار» (Ashwint Pajankar) و «سوشانت گارگ» (Sushant Garg) نوشته شده است.
کتابهای دیگر با انواع مشابه از سبک نگارش و مثالهای پیچیده برای آشنایی خوانندگان با مفاهیم شیگرایی در پایتون ۳ استفاده میکنند. با این حال، این کتاب از زبان ساده برای توضیح مفاهیم استفاده میکند. جامعه هدف این کتاب، زبان آموزان سطح متوسطی هستند که از قبل با زبان پایتون آشنایی دارند.
۴۲. کتاب Data Structures and Algorithms with Object-Oriented Design Patterns
این کتاب در مورد اصول ساختمان دادهها و الگوریتمها با الگوهای طراحی شی گرایی در زبان برنامه نویسی پایتون است که ایده و نگارش آن توسط «برونو آر پریس» (Bruno R. Preiss) اجرایی شد. ساختمان دادهها و الگوریتمها عناصر اصلی هستند که محصولات نرم افزاری بزرگ و پیچیده از آنها ساخته میشوند. برای درک کامل ساختمان داده به سه چیز نیاز است:
- در ابتدا، برنامه نویس باید یاد بگیرد که چگونه اطلاعات در حافظه کامپیوتر مرتب شدهاند.
- سپس، باید با الگوریتمهای دستکاری اطلاعات موجود در ساختمان داده آشنا شود.
- در مرحله سوم نیز باید ویژگیهای عملکردی ساختمان داده را درک کند تا زمانی که از او خواسته میشود، ساختمان داده مناسبی برای یک برنامه خاص انتخاب کند، بتواند تصمیم درستی بگیرد.
علاوه بر این، کتاب معرفی شده در این بخش، طراحی شی گرا را توضیح میدهد. همچنین، استفاده از الگوهای طراحی شی گرا را ترویج میبخشد. الگوریتمها و ساختمان دادههای ارائه شده در این کتاب با زبان برنامه نویسی پایتون پیادهسازی شدهاند. تقریباً تمام ساختمان دادههای ارائه شده در قالب یک سلسله مراتب کلاس واحد ارائه میشوند. این پایبندی به یک طراحی واحد به برنامههای ارائه شده در فصلهای بعدی اجازه میدهد تا روی (به عبارت دیگر، بر اساس) برنامههای ارائه شده در فصلهای قبلی بنا شوند.
۴۳. کتاب From Python to Numpy
کتاب «از پایتون تا نام پای» (From Python to Numpy) توسط «نیکلاس پی روژیه» (Nicolas P. Rougier) نوشته شده است. کتابخانه NumPy پایتون، یکی از مهمترین کتابخانههای محاسبات علمی موجود برای Python محسوب میشود. این کتاب، نحوه پوشش و درک عمیق مفاهیم پیشرفته را برای رسیدن به شایستگی سطح متخصص به برنامه نویسان میآموزد تا به توانایی انجام عملیات پیچیده دست یابند.
فراگیران با شروع یادگیری آرایهها و توابع NumPy با مفاهیم جبر خطی برای انجام عملیات ریاضی بردار و ماتریس آشنا میشوند. همچنین، مفاهیم پردازش دادهها، تجزیه و تحلیل دادههای اکتشافی (EDA | Exploratory Data Analysis) و مدلسازی پیشبینی را به طور کامل درک و تمرین خواهند کرد.
۴۴. کتاب برنامه نویسی پایتون Python 101
کتاب «پایتون ۱۰۱» توسط «مایکل دریسکول» (Michael Driscoll) نوشته شد و قسمت اول آن بخش مبتدی است. در این بخش، تمام اصول اولیه پایتون از انواع دادههای پایتون مانند رشتهها، لیستها، دیکشنریها گرفته تا دستورات شرطی و حلقهها آموزش داده میشود. همچنین مباحث خلاصه لیستها (Comprehension)، توابع و کلاسها و تمام موارد مرتبط با آن نیز ارائه شدهاند.
این بخش مروری انتخاب شده در کتابخانه استاندارد پایتون خواهد بود. هدف از ارائه این کتاب، پوشش تمامی مباحث زبان پایتون نیست. بلکه این کتاب ارائه شده تا به خوانندگان نشان دهد که میتوان کارهای زیادی را با زبان برنامه نویسی پایتون انجام داد. در این کتاب ماژولهایی مانند Os، Sys، Logging، Threads و بسیاری موارد دیگر پوشش داده شدهاند که برای کارهای روزمره مفیدتر هستند. این کتاب، یک بخش کاملاً سطح متوسط نیز دارد که تابعهای لاندا (Lambda) در پایتون، دکوراتورها در پایتون (Decorator)، خصوصیات (Property)، اشکالزدایی، آزمون و پروفایلسازی (Profiling) در این کتاب پوشش داده شدهاند.
بخش آخر کتاب به نحوه اشتراکگذاری کد با دوستان و دیگر افراد جهان میپردازد. همچنین، نحوه بستهبندی کردن کد و اشتراک آنها روی شاخص بستهبندی پایتون (Python Package Index) آموزش داده میشود. علاوه بر آن، در این کتاب نحوه ایجاد فایلهای اجرایی با استفاده از py2exe ،bb_freeze ،cx_freeze و PyInstaller را به برنامه نویسان یاد میدهد. در نهایت نیز چگونگی ایجاد یک نصبکننده با استفاده از Inno Setup به خواننده یاد داده خواهد شد.
۴۵. کتاب Learn Python With No Programming Experience
کتاب «یادگیری پایتون بدون تجربه برنامه نویسی» به علت، چگونگی و زمان استفاده از توابع میپردازد. این کتاب یکی از آثار «ژان پل نایت» (Jean Paul Knight) است. این کتاب الکترونیکی به موضوعهای مختلفی میپردازد که در ادامه برخی از آنها فهرست شدهاند:
- درک این که چرا به توابع نیاز است؟
- درک عمیق مفهوم توابع
- تفاوت بین آرگومانها و پارامترها
- پیادهسازی توابع به صورت عملی
- آموزش مفاهیم *args و **kwargs و موارد دیگر
۴۶. کتاب Think DSP Digital Signal Processing in Python
کتاب «به پردازش سیگنال دیجیتال DSP در پایتون فکر کنید» توسط Allen B. Downey نوشته شده است. فرض کتاب Think DSP Digital Signal Processing in Python و سایر کتابهای سری Think X، این است که اگر شخصی برنامهنویسی بلد باشد، میتواند از آن مهارت برای یادگیری چیزهای دیگر استفاده کند.
نویسنده این کتاب باور دارد که رویکرد مرسوم برای پردازش سیگنال دیجیتال غیر معمول و رو به پسرفت است و به همین دلیل این کتاب را نوشته است. او میگوید که «بیشتر کتابها و کلاسهایی که از آنها استفاده میکنند، مطالب را از پایین به بالا ارائه میدهند و با انتزاعات ریاضی (Mathematical Abstraction) مانند فازورها (Phasor) شروع میشوند.
۴۷. کتاب Clean Architectures in Python
کتاب «معماری تمیز در پایتون» (Clean Architectures in Python) رویکردی عملی برای طراحی بهتر نرم افزار است که توسط «توسط لئوناردو جیوردانی» (Leonardo Giordani) به نگارش در آمد. برای درک کامل این کتاب، خوانندگان باید روی زبان برنامه نویسی پایتون تسلط داشته و با Test Driven Development (TDD) به ویژه تست واحد (Unit Testing) و ماکها (mock) آشنا باشند.
پس از دو بخش مقدماتی ابتدای کتاب، فصل اول، مروری کلی ۱۰۰۰۰ فوتی از یک سیستم طراحی شده با معماری تمیز را مورد بررسی قرار میدهد. در حالی که در فصل دوم به طور خلاصه، اجزا و ایدههای زیربنایی این معماری نرم افزار را مورد بحث قرار داده شدهاند. فصل سوم از طریق یک مثال واقعی از معماری تمیز، آموزش را ادامه میدهد. در بخش چهارم نیز مثال گسترش داده میشود و نویسنده یک اپلیکیشن وب را به آن اضافه میکند.
بخش پنجم از کتاب هم به بحث در مورد مدیریت خطا و بهبود کدهای پایتون توسعه داده شده در فصلهای قبلی میپردازد. فصلهای ششم و هفتم نیز نحوه اتصال سیستمهای پایگاه داده مختلف به سرویس وب قبلی ایجاد شده را نشان میدهند. فصل هشتم هم شامل مثالی میشود که نحوه اجرای اپلیکیشن با پیکربندی آماده تولید را نشان میدهد. برای آشنایی بیشتر با نحوه افزایش خوانایی کد، مطالعه مقاله آموزشی زیر پیشنهاد میشود:
- مقاله پیشنهادی: بهبود خوانایی کدهای پایتون | راهنمای گام به گام
۴۸. کتاب Think Stats: Probability and Statistics for Programmers
کتاب «به آمار فکر کن»، کتابی حاوی مباحث آمار و احتمالات برای برنامه نویسان است که یکی از آثار Allen B. Downey محسوب میشود. اگر شخصی با برنامه نویسی آشنایی داشته باشد، با مطالعه این کتاب مهارتهای تبدیل دادهها به دانش را با استفاده از ابزارهای آمار و احتمال به دست خواهد آورد. این مقدمه مختصر و مفید نشان میدهد که چگونه میتوان با برنامههای نوشته شده در زبان پایتون، تجزیه و تحلیل آماری را به جای مبنای ریاضیاتی به صورت محاسباتی انجام داد.
خوانندگان با مطالعه موردی در سراسر این کتاب کاملاً اصلاح شده، کل فرآیند تجزیه و تحلیل دادههای اکتشافی از جمعآوری دادهها (Collecting Data) و تولید آمار (Generating Statistics) گرفته تا شناسایی الگوها (Identifying Pattern) و آزمایش فرضیهها (Testing Hypotheses) را خواهند آموخت. توزیعها، قواعد احتمالات، بصریسازی (Visualization) و بسیاری از ابزارها و مفاهیم دیگر نیز بررسی میشوند.
۴۹. کتاب Architecture Patterns with Python
کتاب «الگوهای معماری با پایتون: توانایی توسعه آزمونمحور، طراحی دامنهمحور و میکروسرویسهای رویدادمحور» توسط «باب گرگوری» (Bob Gregory) و «هری پرسیوال» (Harry Percival) تالیف شد. این کتاب پلی است بین کسانی که با نحوه برنامه نویسی در پایتون آشنا هستند و کسانی که میدانند چه افرادی باید با آن، نرم افزارهای حرفهای توسعه دهند.
این راهنما از طریق الگوهای طراحی نرم افزار سطح بالا، مانند معماری شش ضلعی (Hexagonal Architecture) یا تمیز، معماری رویداد محور (Event Driven)، طراحی دامنه محور (Domain Driven) و طراحی آزمایش محور در پایتون با استفاده از حجم زیادی کد و مثالهای عملی، خوانندگان را راهنمایی میکند. همچنین با استفاده از مثالها و توضیحات واضح، مختصر و دقیق کمک میکند تا برنامهنویس به توسعهدهنده نرمافزار در پایتون تبدیل شود. این کتاب برای افرادی که میخواهند مهارتهای در حال رشد خود را افزایش دهند، قطعاً ارزش خرید و مطالعه دارد.
۵۰. کتاب Programming Computer Vision with Python
کتاب «برنامه نویسی بینایی کامپیوتر با پایتون» نوشته «جان اریک سولم» (Jan Erik Solem)، مقدمهای عملی برای افرادی است که میخواهند درک پایهای از نظریهها و الگوریتمهای اساسی بینایی کامپیوتر داشته باشند و بهترین نقطه به منظور شروع یادگیری محسوب میشود. با پیگیری و انجام مثالهای واضح نوشته شده در این کتاب به زبان پایتون، روشهای تشخیص اشیاء در پایتون (Object Recognition)، بازسازی سه بعدی (3D Reconstruction)، تصویربرداری استریو (Stereo Imaging)، واقعیت افزوده (Augmented Reality) و دیگر اپلیکیشنهای بینایی کامپیوتر فراگرفته میشود.
این کتاب، حوزه بینایی کامپیوتر را با عباراتی ساده و کلی توضیح میدهد که فراگیران را در مباحث تئوری غرق نمیکند. در این کتاب، نمونه کدهای کاملی با توضیحاتی در مورد نحوه بازتولید و ساخت هر مثال، همراه با تمرینهایی ارائه میشود. این مثالها و تمرینها به برنامه نویسان کمک میکند تا بتوانند چیزی را که آموختهاند در پروژهها به صورت عملی به کار ببرند. این کتاب برای فراگیران، محققان و علاقهمندان به برنامه نویسی پایه و مهارتهای ریاضی استاندارد ایدهآل است.
جمعبندی
کتابهای برنامه نویسی و دورههای آموزشی مختصر و مفید رایگان، یکی از محبوبترین منابع یادگیری برای برنامه نویسان محسوب میشوند. امروزه، زبان برنامه نویسی پایتون طرفداران بسیاری پیدا کرده است و در حوزههای مختلفی کاربرد دارد. منابع آموزشی خوبی که تکمیلکننده هم باشند، میتوانند به افراد تازهکار کمک کنند تا سریعتر برنامه نویسی را یاد بگیرند و درک کلی خود از یک زبان را بهبود ببخشند. در این مطلب به معرفی ۵۰ کتاب برنامه نویسی پایتون برای حوزهها و سطوح یادگیری مختلف از نویسندگانی مانند آلن داونی، ال سوئیگارت، کن یونز کلارک و بسیاری از نویسندگان دیگر پرداخته شد. این کتابها توسط معتبرترین ناشران جهان منتشر شدهاند و بهترین کتابهای این حوزه محسوب میشوند. امید است که مطالعه کتابهای معرفی شده، پلی برای رسیدن به اهداف باشد.