کتاب Learning Python, 6th Edition: Powerful Object-Oriented Programming (آموزش پایتون، ویرایش ششم: برنامهنویسی شیگرای قدرتمند) نوشته مارک لوتز، یک راهنمای جامع و کاربردی برای یادگیری زبان برنامهنویسی پایتون است. این کتاب برای مبتدیان و برنامهنویسان با تجربه طراحی شده و به شما کمک میکند تا اصول اساسی و پیشرفته پایتون را درک کنید.
در ادامه مقدمهای از کتاب Learning Python را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Learning Python:
اگر در حال گشت و گذار در یک کتابفروشی هستید و سعی میکنید این کتاب را درک کنید، این را امتحان کنید:
پایتون یکی از پرکاربردترین زبانهای برنامهنویسی در جهان است. تقریباً در هر نقشی که رایانهها در زندگی ما ایفا میکنند، حضور دارد و سهولت نسبی استفاده از آن، پایتون را به روشی ایدهآل برای شروع برنامهنویسی تبدیل میکند.
این کتاب یک آموزش است که اصول اساسی زبان پایتون را به طور عمیق آموزش میدهد. محتوای آن برای تازهواردان پایتون در همه زمینهها طراحی شده، برای هر نقشی که پایتون ایفا میکند کاربرد دارد و بر اساس دههها بازخورد از یادگیرندگان واقعی مانند شما تهیه شده است.
این نسخه، کتاب Learning Python را برای یک دهه تغییرات در پایتون و دنیای آن بهروزرسانی میکند. پوشش پایتون 2.X که اکنون منسوخ شده است را حذف میکند، ابزارهای جدید اضافه شده به پایتون از طریق نسخه 3.12 را بررسی میکند و برای سایر نسخههای پایتون در گذشته و آینده قابل استفاده است.
بقیه این پیشگفتار اطلاعات پسزمینهای بیشتری در مورد این کتاب و موضوع آن ارائه میدهد. توضیح میدهد که از نسخه قبلی چه تغییراتی ایجاد شده است، بسته مثالهای کتاب را معرفی میکند و ممکن است قبل از ورود به جزئیات به شما در جهتیابی کمک کند.
این کتاب
کتاب Learning Python یک آموزش در مورد زبان پایتون و یک اثر کلاسیک در این حوزه است. این محصول سه دهه استفاده، ترویج و آموزش پایتون است و به اواسط دهه 1990 بازمیگردد، زمانی که پایتون هنوز در نسخه 1.X بود و وب فقط چیزی بود که توسعهدهندگان در ناهار در مورد آن صحبت میکردند.
اگرچه تمرکز در اینجا به طور محکم بر زمان حال است، اما این میراث به طور طبیعی زمینهای تاریخی را اضافه میکند که به شما کمک میکند پایتون را عمیقتر درک کنید. برخلاف آنچه ممکن است شنیده باشید، گذشته مهم است، به ویژه در زمینههای دانشمحور.
به همان اندازه مهم، کتاب Learning Python همیشه بر اساس بازخورد زنده و حضوری از مبتدیان پایتون که برای اولین بار در تلاش برای یادگیری پایتون هستند، بنا شده است.
این بازخورد عمدتاً مدیون کلاسهای آموزشی پایتون است که در طول دو دهه تدریس شده است. در حالی که این کلاسها اکنون منسوخ شدهاند، کتاب Learning Python مراقب است که مطالب الهام گرفته از یادگیرنده خود را حفظ کند، زیرا این بخش زیادی از ارزش آن است.
در نتیجه، اگر شما مانند اکثر هزاران یادگیرندهای هستید که تجربیاتشان در اینجا ثبت شده است، احتمالاً متوجه خواهید شد که کتاب Learning Python مانند یک نسخه خودآموز از جلسات آموزشی پایتون که از آن نشأت گرفته است، عمل میکند.
ممکن است گاهی اوقات متوجه شوید که به سؤالات شما قبل از پرسیده شدن پاسخ میدهد، زیرا گروهی از یادگیرندگان قبل از شما همان سؤالات را داشتهاند. این پیشگویی نیست؛ این صرفاً نشاندهنده این واقعیت است که منابع یادگیری زمانی بهترین عملکرد را دارند که به یادگیرندگان گوش میدهند.
همچنین شایان ذکر است که کتاب Learning Python گاهی اوقات در حین ارائه تغییرات پایتون، از آنها انتقاد میکند. تفکر انتقادی در زمینههای مهندسی بسیار مهم است، به ویژه در زمینهای که در یک مسابقه تسلیحاتی گرفتار شده است که ابزارهای مورد استفاده میلیونها نفر را پیچیده میکند.
در برخی سطوح، پایتون همچنان یک جعبه شنی دائماً در حال تغییر از ایدهها است که اغلب غرور تغییردهندگان را بر نیاز کاربران اولویت میدهد، و کتاب Learning Python از بیان این موضوع خجالت نمیکشد. با این حال، هدف اصلی در اینجا آموزش است، نه انتقاد، و نظرات همیشه، خوب، نظر هستند.
اگرچه دیدگاههای اینجا منعکسکننده دههها استفاده و آموزش پایتون است، شما همیشه باید ارزش خالص تغییرات پایتون را برای خودتان در هر دنیایی که در آن قرار گرفتهاید، قضاوت کنید.
این نسخه
این نسخه از کتاب Learning Python به طور کامل پوشش پایتون 2.X، نسخه قدیمیتر زبان، را حذف میکند و پوشش جدیدی از تغییرات اخیر در پایتون 3.X، نسخه جدیدتر و ناسازگار، را اضافه میکند.
زمانی که نسخه قبلی در سال 2013 منتشر شد، پایتون 2.X هنوز به طور گسترده مورد استفاده قرار میگرفت و احتمالاً حتی غالب بود. به همین دلیل، نسخه قبلی مجبور بود هم 2.X تثبیتشده و هم 3.X جدید و در حال ظهور را پوشش دهد، که گاهی اوقات داستان پیچیدهای را رقم میزد.
بیش از یک دهه بعد، 2.X به طور رسمی منسوخ شده است و دنیای پایتون 3.X را به طور کامل پذیرفته است، به طوری که 2.X یک حواسپرتی ناموجه برای یادگیرندگان امروزی پایتون محسوب میشود. از این رو، پس از یک دوره ده ساله، محتوای خاص 2.X برای ایجاد فضا برای موضوعات جدید 3.X و رسیدگی به حجم کلی کتاب در اینجا حذف شده است.
به طور رسمی، این نسخه برای همگام شدن با پایتون 3.12 و دوره آن بهروزرسانی شده است، اگرچه پیشنمایش اصلاحات 3.13 را نیز ارائه میدهد، و تمرکز آن بر اصول اساسی، آن را به طور کلی برای نسخههای قدیمی و جدید پایتون قابل استفاده میکند.
قبل از اینکه ایمیلها سرازیر شوند، کتاب Learning Python میخواهد روشن کند که از دست دادن زمینه تاریخی را متأسف است (و مخفیانه برای روزهای سادهتر 2.X نیز دلتنگ است). اما 3.X به خودی خود موضوع قابل توجهی است، بدون اینکه داستان را دوشاخه کند و تعداد صفحات را برای نسخه پایتونی که اکنون کمتر مورد استفاده قرار میگیرد، افزایش دهد.
پس به خوبی در آن شب خوب پایتون، 2.X، پیش بروید و 3.X زنده باد. مگر اینکه خلاف آن ذکر شده باشد، “پایتون” در این نسخه به سادگی به خط 3.X به طور کلی و 3.12 و بعداً به طور خاص اشاره دارد.
از نظر اصلاحات 3.X، این نسخه به تازگی پوشش حروف رشتهای f’…’ f، عبارات انتساب نامگذاری شده :=، عبارات match، اشارههای نوع، کوروتینهای ناهمزمان، گسترش ستارهباز کردن، جداکنندههای رقم زیرخط، فایلهای بسته main.py، قلابهای ماژول getattr، گروههای استثنای except*، ترتیب درج کلید دیکشنری، آرگومانهای تابع فقط موقعیتی، فایلهای بایتکد مبتنی بر هش و سایر اضافات، منسوخسازیها و جهشهایی که در طول دهه گذشته و بیشتر ظاهر شدهاند را پوشش میدهد.
در میان این موارد، اشارههای نوع و کوروتینهای ناهمزمان به طور عمیق پوشش داده نشدهاند – از روی قصد. اولی یک ابزار اختیاری و آکادمیک است که به طور کامل توسط خود پایتون استفاده نمیشود و با اصول اصلی آن مغایرت دارد.
دومی یک ابزار کاربردی پیشرفته است و از زمان پیدایش خود دائماً در حال تغییر بوده است. و هر دو به سرعت از صخرههای پیچیدگی عبور میکنند که آنها را از محدوده مبتدیان پایتون خارج میکند.
در صورت نیاز، اطلاعات تکمیلی در مورد چنین موضوعات محدود همیشه با یک جستجو در وب در دسترس است. در اینجا، هدف یادگیری خوب راه رفتن قبل از تلاش برای دویدن است.
در میان سایر تغییرات قابل توجه این بار:
محتوای یونیکد در فصل 37 کتاب Learning Python بخش پیشرفته جدید و بهبود یافته است، زیرا این موضوع اکنون در پایتون 3.X و جهان به طور کلی ضروری است.
پوشش استفاده، از جمله پیوست جدید A، تمرکز بیشتری بر macOS، Android، Linux و iOS دارد، زیرا همه خوانندگان این کتاب از ویندوز استفاده نمیکنند.
اکثر مثالهای فایل کد اکنون دارای عنوانهای شمارهگذاری شده هستند، زیرا رسمیت اضافی آنها را در کتاب بهتر متمایز میکند و ارزش فضا را دارد.
برخی از افزونگیها حذف شدهاند، اما نه همه، زیرا تکرار در منابع یادگیری مفید و حتی مهم است.
حجم این کتاب با مورد قبلی، بازنویسیها و اصلاحات جریان و خالص حذفهای 2.X و درجهای 3.X کاهش یافته است، زیرا درک آن کمتر است.
حجم نسخه چاپی کتاب Learning Python با انتقال دو فصل پیشرفته اما اختیاری به صورت آنلاین (فصلهای 38 و 39) بیشتر کاهش یافته است، زیرا حمل آن کمتر است.
نامهای خیالی در مثالها از نظر جنسیتی خنثیتر هستند: “باب” اکنون یک “پت” مبهم است، مگر اینکه مانند قبل با “سو” جفت شود، زیرا بهتر تعصب را خنثی میکند.
اشارات مونتی پایتون حذف شدهاند، زیرا میتوانند گیجکننده باشند و ممکن است اختلافبرانگیز باشند، و قرض گرفتن شخصیت از رسانهها ارزان به نظر میرسد.
هم صدای اول شخص و هم حکایات شخصی به طور کلی حذف شدهاند، زیرا شما کتاب Learning Python را برای یادگیری پایتون خریدهاید، نه داستان زندگی یک نویسنده.
در مورد دو مورد آخر: نام پایتون مطمئناً چیز خندهداری بود، اما تقلید اجباری از کار یک گروه کمدی تقریباً تمام مردانه میتواند در نگاهی به گذشته مانند دست دادن مخفیانه یک باشگاه پسرانه انحصاری به نظر برسد. و در حالی که یک “من” یا “من” گاه به گاه ممکن است رنگ یا اعتبار اضافه کند، استفاده بیش از حد تمایل دارد که خودشیفتگی به نظر برسد. از این رو، 1k “اسپم” قبلی اکنون نمادهای فراگیرتر هستند و دوره سه دههای این کتاب باید خود گویای خود باشد.
با وجود همه اصلاحات، این نسخه همچنان بیشتر یک رمان فنی است تا یک راهنمای مرجع، و به اندازه کافی پرمحتوا است که با یک کلاس کامل یک ترم در مورد پایتون و برنامهنویسی قابل مقایسه باشد.
کتاب Learning Python موضوعات را معرفی میکند و در فصلهای بعدی به عنوان مضامین تکرارشونده آنها را گسترش میدهد، و در طول مسیر پوشش جامعی را جمعآوری میکند. منابع مرجع سریع پایتون در python.org و انبوهی از وبلاگها و ویدیوها وجود دارند که قول میدهند پایتون را به سرعت آموزش دهند. کتاب Learning Python برای کسانی است که میدانند یادگیری خوب چیزی به کمی تلاش بیشتر نیاز دارد.
سرفصلهای کتاب Learning Python:
- Preface
- I. Getting Started
- 1. A Python Q&A Session
- 2. How Python Runs Programs
- 3. How You Run Programs
- II. Objects and Operations
- 4. Introducing Python Objects
- 5. Numbers and Expressions
- 6. The Dynamic Typing Interlude
- 7. String Fundamentals
- 8. Lists and Dictionaries
- 9. Tuples, Files, and Everything Else
- III. Statements and Syntax
- 10. Introducing Python Statements
- 11. Assignments, Expressions, and Print
- 12. if and match Selections
- 13. while and for Loops
- 14. Iterations and Comprehensions
- 15. The Documentation Interlude
- IV. Functions and Generators
- 16. Function Basics
- 17. Scopes
- 18. Arguments
- 19. Function Odds and Ends
- 20. Comprehensions and Generations
- 21. The Benchmarking Interlude
- V. Modules and Packages
- 22. Modules: The Big Picture
- 23. Module Coding Basics
- 24. Module Packages
- 25. Module Odds and Ends
- VI. Classes and OOP
- 26. OOP: The Big Picture
- 27. Class Coding Basics
- 28. A More Realistic Example
- 29. Class Coding Details
- 30. Operator Overloading
- 31. Designing with Classes
- 32. Class Odds and Ends
- VII. Exceptions
- 33. Exception Basics
- 34. Exception Coding Details
- 35. Exception Objects
- 36. Exception Odds and Ends
- VIII. Advanced Topics
- 37. Unicode and Byte Strings
- 38. Managed Attributes
- 39. Decorators
- 40. Metaclasses and Inheritance
- 41. All Good Things
- IX. Appendixes
- A. Platform Usage Tips
- B. Solutions to End-of-Part Exercises
- Index
- About the Author
جهت دانلود کتاب Learning Python میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.