کتاب Mastering Python یا تسلط بر پایتون، نسخه دوم از این کتاب است که در سال 2022 به چاپ رسیده است. این کتاب با پوشش آخرین نسخه پایتون سعی دارد این زبان را به صورتی ساده و خلاصه آموزش دهد. همچنین مفاهیم مهم برنامهنویسی مانند متاکلاس، چند پردازشی، چند نخی و مسائلی از این قبیل را با مثالهایی پوشش داده است.
در ادامه مقدمهای از کتاب Mastering Python را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Mastering Python:
Python زبانی است که یادگیری آن آسان است و هر کسی میتواند با یک “Hello, World!” شروع کند. اسکریپت در عرض چند دقیقه با این حال، تسلط بر پایتون یک سؤال کاملاً متفاوت است.
هر مشکل برنامهنویسی چندین راه حل ممکن دارد و انتخاب راه حل Pythonic (Python اصطلاحی) همیشه واضح نیست. همچنین میتواند با گذشت زمان تغییر کند. این کتاب نه تنها طیف وسیعی از تکنیکهای مختلف و جدید را نشان میدهد، بلکه توضیح میدهد که در کجا و چه زمانی یک روش باید اعمال شود. به نقل از ذن پایتون توسط تیم پیترز:
“باید یک راه – و ترجیحاً تنها یک – واضح برای انجام آن وجود داشته باشد. اگرچه این راه ممکن است در ابتدا واضح نباشد مگر اینکه هلندی باشید.”
اگرچه همیشه کمکی نمیکند، نویسنده این کتاب در واقع هلندی است.
کتاب Mastering Python یک راهنمای مبتدی برای پایتون نیست. این کتابی است که میتواند تکنیکهای پیشرفتهتر ممکن در پایتون مانند asyncio را به شما آموزش دهد. حتی شامل ویژگیهای پایتون 3.10، مانند تطبیق الگوی ساختاری (عبارت سوییچ پایتون)، با جزئیات زیاد است.
به عنوان یک برنامهنویس پایتون با سالها تجربه، سعی خواهم کرد انتخابهای انجام شده در این کتاب را با اطلاعات پس زمینه مرتبط منطقی کنم. با این حال، این منطقیسازیها به هیچ وجه دستورالعملهای سختگیرانهای نیستند، زیرا بسیاری از این موارد در نهایت به سبک شخصی خلاصه میشوند. فقط بدانید که آنها از تجربه سرچشمه میگیرند و در بسیاری از موارد، راه حلهای توصیه شده توسط جامعه پایتون هستند.
اگر از طرفداران مونتی پایتون نباشید، ممکن است برخی از منابع این کتاب برای شما واضح نباشد. کتاب Mastering Python به طور مرتب از هرزنامه و تخم مرغ به جای foo و bar در نمونه کد استفاده میکند زیرا زبان برنامهنویسی پایتون از مونتی پایتون نامگذاری شده است. برای ارائه برخی اطلاعات پسزمینه در مورد هرزنامه و تخم مرغ، توصیه میکنم طرح اسپم را از Monty Python تماشا کنید که بسیار جالب است.
این کتاب برای چه کسی است؟
کتاب Mastering Python برای برنامهنویسانی است که قبلاً در پایتون با تجربه هستند و میخواهند در مورد ویژگیهای پیشرفته ای که پایتون ارائه میدهد بیشتر بیاموزند. با عمق این کتاب، میتوانم تضمین کنم که تقریباً هر کسی در صورت تمایل میتواند چیز جدیدی را در اینجا بیاموزد.
با این حال، اگر فقط اصول پایتون را میدانید، نگران نباشید. کتاب نسبتاً کند شروع میشود و به موضوعات پیشرفتهتر میآید، بنابراین باید خوب باشید.
آنچه این کتاب پوشش میدهد:
فصل 1، شروع – یک محیط در هر پروژه، چندین گزینه برای مدیریت نسخههای پایتون، محیطهای مجازی و وابستگیهای بسته را نشان میدهد.
فصل 2 کتاب Mastering Python، مفسران تعاملی پایتون، گزینههای مفسر پایتون را بررسی میکند. مفسر پیشفرض پایتون کاملاً کاربردی است، اما جایگزینهای بهتری در دسترس است. با چند تغییر یا جایگزینی، میتوانید تکمیل خودکار، برجستهسازی نحو و خروجی گرافیکی دریافت کنید.
فصل 3، نحو Pythonic و Common Pitfalls، در مورد کدنویسی پایتونیک، که هنر نوشتن کدهای زیبا و خواندنی پایتون است، بحث میکند. این فصل جام مقدس نیست، اما مملو از نکات و بهترین روشها برای دستیابی به چیزی در این مسیر است.
فصل 4 کتاب Mastering Python، الگوهای طراحی پایتونیک، با موضوع فصل 3 ادامه مییابد. نوشتن کد پایتونیک فقط مربوط به سبک کد نیست، بلکه در مورد استفاده از الگوهای طراحی و ساختارهای داده مناسب است. این فصل در مورد ساختارهای داده موجود و ویژگیهای عملکرد آنها به شما میگوید.
فصل 5، برنامهنویسی تابعی – خوانایی در مقابل کوتاهی، برنامهنویسی کاربردی را پوشش میدهد. برنامهنویسی کاربردی توسط برخی کمی هنر سیاه تلقی میشود، اما زمانی که به درستی اعمال شود میتواند ابزار واقعا قدرتمندی باشد که استفاده مجدد از کد را بی اهمیت میکند. احتمالاً به همان اندازه که در برنامهنویسی میتوانید به ریاضیات اساسی نزدیک است.
فصل 6 کتاب Mastering Python، دکوراتورها – فعال کردن استفاده مجدد از کد با تزئین، دکوراتورها را مورد بحث قرار میدهد، ابزاری شگفتانگیز برای استفاده مجدد از یک روش. با دکوراتورها، میتوانید توابع و کلاسها را با یک تابع دیگر بپیچید تا پارامترها و مقادیر برگرداندهشان را تغییر دهید – ابزاری بسیار مفید.
فصل 7، ژنراتورها و کوروتینها – بینهایت، یک قدم در یک زمان، ژنراتورها را مورد بحث قرار میدهد. اگر از قبل میدانید که از هر عنصری استفاده میکنید، فهرستها و تاپلها فوقالعاده هستند، اما جایگزین سریعتر این است که فقط عناصری را که واقعاً نیاز دارید محاسبه کنید. این همان کاری است که یک ژنراتور برای شما انجام میدهد: تولید اقلام در صورت تقاضا.
فصل 8 کتاب Mastering Python، متاکلاسها – هوشمندتر کردن کلاسها (نه نمونهها)، متاکلاسها را بررسی میکند، کلاسهایی که کلاسهای دیگر را میسازند. این جادویی است که به ندرت به آن نیاز دارید، اما موارد کاربرد عملی مانند سیستمهای پلاگین دارد.
فصل 9، مستندات – نحوه استفاده از Sphinx و ReStructuredText، نکاتی را در رابطه با مستندات به شما ارائه میدهد. نوشتن مستندات ممکن است فعالیت مورد علاقه اکثر برنامهنویسان نباشد، اما مفید است. این فصل به شما نشان میدهد که چگونه با استفاده از Sphinx و ReStructuredText این کار را برای تولید خودکار بخشهای بزرگ آسانتر کنید.
فصل 10 کتاب Mastering Python، آزمایش و ثبت نام – آمادهسازی برای اشکالات، نحوه اجرای آزمایشها و ثبت گزارش برای جلوگیری و شناسایی اشکالات را پوشش میدهد. اشکالات اجتناب ناپذیر هستند و با استفاده از ورود به سیستم میتوان علت را ردیابی کرد. اغلب، با استفاده از تستها میتوان از بروز اشکال جلوگیری کرد.
فصل 11، اشکالزدایی – حل اشکالات، بر اساس فصل 10 ساخته شده است. فصل قبل به ما کمک کرد تا اشکالات را پیدا کنیم. اکنون باید آنها را حل کنیم. دیباگرها میتوانند کمک بزرگی در هنگام یافتن اشکالات دشوار باشند، و این فصل چندین گزینه اشکالزدایی را به شما نشان میدهد.
فصل 12، عملکرد – ردیابی و کاهش استفاده از حافظه و CPU، عملکرد کد شما را مورد بحث قرار میدهد. مشکل رایجی که برنامهنویسان دارند تلاش برای بهینهسازی کدهایی است که به آن نیازی ندارند، تمرینی سرگرم کننده اما به طور کلی بیهوده. این فصل به شما کمک میکند کدهایی را که باید بهینه شوند پیدا کنید.
فصل 13، asyncio – Multithreading بدون Threads، asyncio را پوشش میدهد. انتظار برای منابع خارجی مانند منابع شبکه رایجترین گلوگاه برای برنامهها است. با asyncio، میتوانیم منتظر آن تنگناها نباشیم و به جای آن به کار دیگری برویم.
فصل 14 کتاب Mastering Python، چند پردازش – زمانی که یک هسته واحد CPU کافی نیست، عملکرد را از دیدگاهی متفاوت مورد بحث قرار میدهد. با چند پردازش، میتوانیم از چندین پردازنده (حتی از راه دور) به صورت موازی استفاده کنیم. وقتی پردازنده شما گلوگاه است، این میتواند کمک زیادی کند.
فصل 15، Python و Plotting علمی، مهمترین کتابخانهها برای محاسبات علمی را پوشش میدهد. پایتون به زبان منتخب برای اهداف علمی تبدیل شده است.
فصل 16 کتاب Mastering Python، هوش مصنوعی، بسیاری از الگوریتمهای هوش مصنوعی و کتابخانههای موجود برای پیادهسازی آنها را نشان میدهد. علاوه بر زبان انتخابی برای اهداف علمی، اکثر کتابخانههای هوش مصنوعی در حال حاضر با استفاده از پایتون نیز ساخته میشوند.
بیشتر بخوانید: کتاب Artificial Intelligence with Python
فصل 17، برنامههای افزودنی در C/C++، تماسهای سیستم، و کتابخانههای C/C++، نحوه استفاده از کتابخانههای C/C++ موجود در پایتون را به شما نشان میدهد که نه تنها امکان استفاده مجدد را میدهد، بلکه میتواند سرعت اجرا را نیز بسیار افزایش دهد. پایتون زبان فوقالعادهای است، اما اغلب سریعترین راهحل نیست.
فصل 18، بستهبندی – ایجاد کتابخانهها یا برنامههای کاربردی، به شما کمک میکند کد خود را در یک بسته پایتون کاملاً کاربردی که دیگران میتوانند از آن استفاده کنند، بستهبندی کنید. پس از ساختن کتابخانه جدید فوقالعاده خود، ممکن است بخواهید آن را با جهان به اشتراک بگذارید.
سرفصلهای کتاب Mastering Python:
- Preface
- 1. Getting Started – One Environment per Project
- 2. Interactive Python Interpreters
- 3. Pythonic Syntax and Common Pitfalls
- 4. Pythonic Design Patterns
- 5. Functional Programming – Readability Versus Brevity
- 6. Decorators – Enabling Code Reuse by Decorating
- 7. Generators and Coroutines – Infinity, One Step at a Time
- 8. Metaclasses – Making Classes (Not Instances) Smarter
- 9. Documentation – How to Use Sphinx and reStructuredText
- 10. Testing and Logging – Preparing for Bugs
- 11. Debugging – Solving the Bugs
- 12. Performance – Tracking and Reducing Your Memory and CPU Usage
- 13. asyncio – Multithreading without Threads
- 14. Multiprocessing – When a Single CPU Core Is Not Enough
- 15. Scientific Python and Plotting
- 16. Artificial Intelligence
- 17. Extensions in C/C++, System Calls, and C/C++ Libraries
- 18. Packaging – Creating Your Own Libraries or Applications
- Other Books You May Enjoy
- Index
فایل کتاب Mastering Python را میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.