کتاب Introducing Python: Modern Computing in Simple Packages (مقدمهای بر پایتون: محاسبات نوین در بستههای ساده) نوشته Bill Lubanovic، یک راهنمای جامع و کاربردی برای زبان برنامهنویسی پایتون است که برای طیف وسیعی از کاربران، از مبتدیان تا برنامهنویسان باتجربه، مناسب است.
کتاب Introducing Python بر یادگیری اصول پایتون و استفاده از آن برای حل مسائل دنیای واقعی تمرکز دارد. آبهله با ارائه مثالهای عملی و کدهای قابل درک، مفاهیم اصلی پایتون مانند ساختارهای داده، توابع، کلاسها، ماژولها و استفاده از کتابخانههای استاندارد را آموزش میدهد.
در ادامه مقدمهای از کتاب Introducing Python را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Introducing Python:
این سومین ویرایش از کتابی است که شما را با یکی از محبوبترین زبانهای برنامهنویسی جهان یعنی پایتون آشنا میکند. شاید شما یک برنامهنویس تازهکار باشید یا تجربهای در این زمینه داشته باشید و بخواهید پایتون را به زبانهایی که از قبل بلد هستید، اضافه کنید. در طول این کتاب، گاهی پایتون را با زبانهای دیگر مقایسه خواهم کرد تا پیشفرضهای موجود درباره نحوه کار آن، به خصوص تفاوتهای ظریفش را توضیح دهم.
یادگیری زبانهای برنامهنویسی از زبانهای انسانی آسانتر است؛ آنها مختصرتر و دقیقتر هستند. پایتون به عنوان یکی از سادهترین زبانهای برنامهنویسی برای یادگیری، خواندن و نوشتن شناخته میشود. این زبان از دادهها (مانند اسمها در زبان گفتاری) و همچنین دستورالعملها یا کد (مانند فعلها) تشکیل شده است. در فصلهای متناوب، شما با کدهای اصلی و ساختارهای داده پایتون آشنا میشوید، یاد میگیرید چگونه آنها را ترکیب کنید و به ساختارهای پیشرفتهتر برسید. برنامههایی که میخوانید و مینویسید، طولانیتر و پیچیدهتر خواهند شد.
شما هم خود زبان و هم نحوه استفاده از آن را یاد خواهید گرفت. ما با هسته اصلی زبان پایتون و کتابخانه استاندارد “شامل باتریها” (batteries included) شروع میکنیم و سپس به پیدا کردن، دانلود، نصب و استفاده از برخی بستههای کاربردی شخص ثالث میپردازیم. تاکید من بر روی چیزهایی است که در ۲۰ سال توسعه پایتون در محیط واقعی برایم مفید بوده، نه موضوعات فرعی یا کدهای پیچیده.
هرچند این کتاب یک مقدمه است، اما برخی موضوعات پیشرفته نیز در آن گنجانده شدهاند، زیرا میخواهم شما با آنها آشنا شوید. حوزههایی مانند پایگاه دادهها و وب همچنان پوشش داده میشوند، اما تکنولوژی به سرعت در حال تغییر است. امروزه از یک برنامهنویس پایتون انتظار میرود که درباره یادگیری ماشین، صفها یا یونیکد اطلاعاتی داشته باشد. جزئیات همه اینها را در این کتاب خواهید یافت.
پایتون ویژگیهای خاصی دارد که بهتر از انطباق دادن سبکهای سایر زبانها عمل میکنند. برای مثال، استفاده از حلقههای for
و iterators
راه مستقیمتری برای ایجاد یک حلقه نسبت به افزایش دستی یک متغیر شمارنده است.
هنگام یادگیری مطالب جدید، دشوار است که تشخیص دهید کدام اصطلاحات خاص و کدام عامیانه هستند و کدام مفاهیم واقعاً مهم هستند. به عبارت دیگر، “آیا این در آزمون میآید؟” من اصطلاحات و ایدههایی را که در پایتون معنا یا اهمیت خاصی دارند، برجسته خواهم کرد، اما نه تعداد زیاد آنها به طور همزمان. کدهای واقعی پایتون از همان ابتدا و به صورت مکرر گنجانده شدهاند.
نکته
وقتی محتوا ممکن است گیجکننده باشد یا اگر راه مناسبتری برای انجام آن به شیوه “پایتونی” (Pythonic) وجود داشته باشد، نکتهای مانند این را اضافه خواهم کرد.
پایتون بیعیب و نقص نیست. من ویژگیهایی را به شما نشان خواهم داد که عجیب به نظر میرسند یا باید از آنها اجتناب کرد، و جایگزینهایی را که میتوانید به جای آنها استفاده کنید، پیشنهاد خواهم داد.
مخاطب کتاب Introducing Python
اگرچه تجربه برنامهنویسی قبلی میتواند مفید باشد، اما میخواهم این امکان را فراهم کنم که برنامهنویسان تازهکار نیز از این کتاب بهره ببرند. پایتون یک زبان برنامهنویسی عالی برای شروع است و برای شروع کار نیازی نیست کل این کتاب را بخوانید و درک کنید.
تغییرات در ویرایش سوم کتاب Introducing Python
اگرچه این ویرایش عمدتاً از ساختار ویرایش دوم پیروی میکند، اما من هر صفحه را به روز کردهام:
- حذف فصلهای ۲۰-۲۲ و پیوستهای A، C و E
- اضافه شدن فصلهایی درباره هوش مصنوعی، علم داده و عملکرد
- پوشش گستردهتر محیطهای توسعه
- اضافه شدن بحث درباره ویژگیها و اصلاحات اخیر پایتون
- تاکید بر استفاده از راهنمای نوعدهی (typing hints)
- بهروزرسانی بسیاری از مثالها و جزئیات پیچیده
- توسعه فصل ۱۹ قدیمی (یک پایتونیست باشید) به یک بخش کامل (بخش دوم کتاب Introducing Python)
خلاصه مطالب
بخش اول کتاب Introducing Python (فصلهای ۱ تا ۱۲) به بررسی قلعه پایتون، یعنی مبانی زبان پایتون میپردازد. بهتر است این فصلها را به ترتیب بخوانید. من از سادهترین ساختارهای داده و کد شروع میکنم و آنها را در طول مسیر به برنامههای دقیقتر و واقعیتر ترکیب میکنم. میتوانید تمام کدهای این بخش را در کامپیوتر خودتان امتحان کنید.
- فصل ۱، “مقدمه”: برنامههای کامپیوتری تفاوت چندانی با دستورالعملهایی که هر روز میبینید، ندارند. چند برنامه کوچک پایتون نگاهی اجمالی به ظاهر، قابلیتها و کاربردهای این زبان در دنیای واقعی به شما میدهند. خواهید دید که چگونه یک برنامه پایتون را در مفسر تعاملی (یا شِل) یا از یک فایل متنی ذخیره شده روی کامپیوتر خود اجرا کنید.
- فصل ۲، “انواع و متغیرها”: زبانهای کامپیوتری داده و دستورالعملها را با هم ترکیب میکنند. انواع مختلف داده به صورت متفاوتی در کامپیوتر ذخیره و پردازش میشوند. آنها ممکن است قابل تغییر (mutable) یا غیرقابل تغییر (immutable) باشند. در یک برنامه پایتون، دادهها میتوانند به صورت مقادیر ثابت (اعداد مانند ۷۸، رشتههای متنی مانند “waffle”) یا به صورت متغیرهای نامگذاری شده نمایش داده شوند. پایتون با متغیرها مانند نامها یا برچسبها رفتار میکند که با بسیاری از زبانهای دیگر متفاوت است و پیامدهای مهمی دارد.
- فصل ۳، “اعداد”: این فصل از کتاب Introducing Python، سادهترین انواع داده پایتون را نشان میدهد: بولیها، اعداد صحیح و اعداد اعشاری. همچنین عملیات ریاضی اصلی را یاد خواهید گرفت. مثالها از مفسر تعاملی پایتون مانند یک ماشین حساب استفاده میکنند.
- فصل ۴، “رشتهها”: یاد بگیرید که چگونه رشتههای متنی را ایجاد، ترکیب، تغییر، بازیابی و چاپ کنید. در فصل ۱۹ کتاب Introducing Python جزئیات بیشتری را خواهید دید.
- فصل ۵، “بایت و آرایه بایت”: بسیاری از مثالهای دادهای دودویی هستند و میتوانند در پایتون با انواع داده
bytes
وbytearray
نمایش داده شوند. فایلهای دودویی در فصل ۲۰ کتاب Introducing Python بحث خواهند شد. - فصل ۶، “
If
وMatch
“: برای چند فصل بین اسمها (انواع داده) و فعلهای (ساختارهای برنامه) پایتون حرکت خواهیم کرد. کد پایتون به طور معمول خط به خط، از شروع تا پایان یک برنامه اجرا میشود. ساختار کدif
به شما امکان میدهد بسته به یک مقایسه دادهای، خطوط مختلفی از کد را اجرا کنید. - فصل ۷، “
For
وWhile
“: دوباره به فعلها نگاه میکنیم، و دو راه برای تکرار کد در یک حلقه:for
وwhile
. با یک مفهوم اصلی پایتون یعنی تکرارکنندهها (iterators) آشنا میشوید. - فصل ۸، “تاپل و لیست”: وقت آن است که با اولین ساختارهای داده داخلی سطح بالاتر پایتون آشنا شوید: لیستها و تاپلها. اینها دنبالهای از مقادیر هستند، مانند قطعات لِگو برای ساختن ساختارهای داده بسیار پیچیدهتر. با استفاده از تکرارکنندهها از آنها عبور کنید و با کامپرهنشنها (comprehensions) به سرعت لیستها را بسازید.
- فصل ۹، “دیکشنری و سِت”: دیکشنریها (
dicts
) و سِتها به شما امکان میدهند دادهها را بر اساس مقادیرشان به جای موقعیتشان ذخیره کنید. این ویژگی بسیار کاربردی است و یکی از قابلیتهای مورد علاقه شما در پایتون خواهد بود. - فصل ۱۰، “توابع”: ساختارهای داده و کد فصلهای قبلی را با هم ترکیب کنید تا مقایسه، انتخاب یا تکرار را انجام دهید. کد را در توابع بستهبندی کنید و خطاها را با استثناها (exceptions) مدیریت کنید.
- فصل ۱۱، “شیءها”: اصطلاح شیء (object) کمی مبهم است، اما در بسیاری از زبانهای کامپیوتری از جمله پایتون مهم است. اگر برنامهنویسی شیءگرا را در زبانهای دیگر انجام دادهاید، پایتون کمی راحتتر است. این فصل از کتاب Introducing Python نحوه استفاده از شیءها و کلاسها و زمان بهتر بودن استفاده از جایگزینها را توضیح میدهد.
- فصل ۱۲، “ماژولها و بستهها”: این فصل از کتاب Introducing Python نحوه مقیاسبندی به ساختارهای کد بزرگتر را نشان میدهد: ماژولها، بستهها و برنامهها. خواهید دید که کجا کد و دادهها را قرار دهید، چگونه دادهها را وارد و خارج کنید، گزینهها را مدیریت کنید، گشتی در کتابخانه استاندارد پایتون بزنید و نگاهی به آنچه فراتر از آن است، بیندازید.
بخش دوم کتاب Introducing Python (فصلهای ۱۳ تا ۱۶) فراتر از خود زبان، به ابزارها و تکنیکهایی میپردازد که برای انجام برنامهنویسی جدی پایتون به آنها نیاز دارید. این بخش گسترش همان فصل “یک پایتونیست باشید” از ویرایش دوم کتاب Introducing Python است.
- فصل ۱۳، “محیط توسعه”: در اینجا به محیطهای مجازی (مدیریت نسخههای پایتون) و مدیریت بستهها با
pip
و سایر ابزارها میپردازیم. - فصل ۱۴، “راهنمای نوعدهی و مستندسازی”: اگرچه برای خود مفسر پایتون کاملاً اختیاری هستند، اما راهنمای نوعدهی واقعاً به خوانایی کد شما کمک میکنند و برای
FastAPI
،Mojo
و سایر برنامههای جدید ضروری هستند. - فصل ۱۵، “تستنویسی”: چگونه مطمئن شوید که کد شما کار میکند؟ برخی تکنیکها میتوانند زمان و دردسر زیادی را برای شما صرفهجویی کنند.
- فصل ۱۶، “عیبیابی”: گاهی اوقات برای پیدا کردن مشکل باید به عمق آن بپردازید.
بخش سوم کتاب Introducing Python (فصلهای ۱۷ تا ۲۷) به بررسی کاربردهای خاص الهام گرفته از پایتون مانند وب، پایگاه دادهها، شبکهها و غیره میپردازد. میتوانید این فصلها را به هر ترتیبی که دوست دارید بخوانید.
- فصل ۱۷، “دادههای متنی”: فراتر از توضیحات اولیه رشته در فصل ۴: کاراکترهای یونیکد، عبارات منظم برای تطبیق الگوهای متنی و موارد دیگر.
- فصل ۱۸، “دادههای دودویی”: به نظر میرسد این حوزه در کتابهای پایتون زیاد مورد بحث قرار نمیگیرد. میتوانید کارهای پیچیدهای با دادههای غیرمتنی در پایتون انجام دهید که ممکن است فکر کنید به یک زبان سطح پایینتر مانند C نیاز دارند.
- فصل ۱۹، “تاریخ و زمان”: مدیریت تاریخ و زمان میتواند پیچیده باشد. این فصل از کتاب Introducing Python، مشکلات رایج و راهحلهای مفید را نشان میدهد.
- فصل ۲۰، “فایلها”: ذخیرهسازی اولیه دادهها از فایلها و دایرکتوریها استفاده میکند. این فصل به شما نشان میدهد که چگونه آنها را ایجاد و استفاده کنید.
- فصل ۲۱، “دادهها در زمان: همزمانی”: این اولین فصل سیستمی است. موضوع آن دادهها در زمان است – نحوه استفاده از برنامهها، فرآیندها، رشتهها و
asyncio
برای انجام کارهای بیشتر به صورت همزمان (همزمانی). - فصل ۲۲، “دادهها در فضا: شبکهها”: کد و دادههای خود را از طریق فضا در شبکهها با خدمات، پروتکلها و APIها ارسال کنید. مثالها از سوکتهای سطح پایین
TCP
گرفته تا کتابخانههای پیامرسانی و سیستمهای صفبندی تا استقرار ابری را شامل میشود. - فصل ۲۳، “دادهها در یک جعبه: ذخیرهسازی پایدار”: دادهها را میتوان با فایلهای ساده و دایرکتوریها در سیستمهای فایل ذخیره و بازیابی کرد. آنها با فرمتهای متنی رایج مانند
CSV
،JSON
وXML
ساختار پیدا میکنند. وقتی دادهها بزرگتر و پیچیدهتر میشوند، به خدمات پایگاه دادهها نیاز دارند – پایگاه دادههای رابطهای سنتی و ذخیرهسازی دادههایNoSQL
جدیدتر. - فصل ۲۴، “وب”: وب فصل جداگانهای دارد – کلاینتها، سرورها، APIها و فریمورکها. وبسایتها را خزش و استخراج خواهید کرد و سپس برنامههای وب را با پارامترهای درخواست و قالبها خواهید ساخت.
- فصل ۲۵، “علم داده”: پایتون با طیف گستردهای از ابزارها و روشهایی که هر روز در سیستمهای تولیدی استفاده میشوند، در این حوزه بسیار مناسب است.
- فصل ۲۶، “هوش مصنوعی”: این فصل جدید به موضوع بهموقع هوش مصنوعی اختصاص دارد. پایتون عمدتاً به دلیل استفاده گسترده در مدلسازی داده و توسعه هوش مصنوعی به شهرت رسیده است. این فصل از کتاب Introducing Python رویکردهای مختلف برای استفاده و توسعه سیستمهای مبتنی بر هوش مصنوعی را مستند میکند.
- فصل ۲۷، “عملکرد”: این نیز یک فصل جدید است که روشهای مختلف افزایش سرعت پایتون را نشان میدهد، زمانی که به اندازه کافی سریع نیست. من یک سوپراست از پایتون به نام
Mojo
را معرفی خواهم کرد که اگر برنامههای توسعه آن به خوبی پیش برود، فکر میکنم تأثیر قابل توجهی خواهد داشت.
پیوست، “پاسخ تمرینها”، شامل پاسخ تمرینهای پایان هر فصل کتاب Introducing Python است.
سرفصلهای کتاب Introducing Python:
- Preface
- I. Stronghold
- 1. Introduction
- 2. Types and Variables
- 3. Numbers
- 4. Strings
- 5. Bytes and Bytearray
- 6. If and Match
- 7. For and While
- 8. Tuples and Lists
- 9. Dictionaries and Sets
- 10. Functions
- 11. Objects
- 12. Modules and Packages
- II. Tools
- 13. Development Environment
- 14. Type Hints and Documentation
- 15. Testing
- 16. Debugging
- III. Quests
- 17. Text Data
- 18. Binary Data
- 19. Dates and Times
- 20. Files
- 21. Data in Time: Concurrency
- 22. Data in Space: Networks
- 23. Data in a Box: Persistent Storage
- 24. The Web
- 25. Data Science
- 26. AI
- 27. Performance
- Appendix. Practice Answers
- Index
- About the Author
جهت دانلود کتاب Introducing Python میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.