ویژگیهای کلیدی
یاد بگیرید که چگونه، چه زمانی و چرا عناصر تابعی را در پروژههای خود به کار ببرید
ماژولهای پایتون ضروری برای برنامهنویسی تابعی، مانند itertools و functools را بررسی کنید
برای پوشش ویژگیهای جدید پایتون ۳.۱۰، تمرینهایی در پایان هر فصل و موارد دیگر، اصلاح شده است
شرح کتاب
تعداد کمی از توسعهدهندگان مزایای برنامهنویسی تابعی یا حتی ماهیت آن را درک میکنند. نویسنده، استیون لات، این رویکرد را رمزگشایی میکند و به شما میآموزد که چگونه روش کدنویسی در پایتون را بهبود بخشید و در استفاده از حافظه و عملکرد پیشرفت کنید.
این کتاب با شروع از اصول اولیه، به شما نشان میدهد که چگونه تفکر و تکنیکهای تابعی را در طیف وسیعی از سناریوها به کار ببرید، با مثالهایی حول محور پاکسازی دادهها و تجزیه و تحلیل اکتشافی دادهها. شما یاد خواهید گرفت که چگونه از عبارات مولد، درک لیست و دکوراتورها به نفع خود استفاده کنید. با این حال، لازم نیست طراحی شیءگرا را به طور کامل کنار بگذارید – همچنین خواهید دید که چگونه از شیگرایی بومی پایتون در کنار تکنیکهای برنامهنویسی تابعی استفاده میشود.
در پایان این کتاب، شما به خوبی با ویژگیهای اساسی برنامهنویسی تابعی پایتون آشنا خواهید شد و خواهید فهمید که چرا و چه زمانی تفکر تابعی کمک میکند. همچنین تمام ابزارهایی را که برای دنبال کردن هرگونه مباحث تابعی اضافی که بخشی از زبان پایتون نیستند، نیاز دارید، در اختیار خواهید داشت.
آنچه خواهید آموخت
استفاده از کتابخانههای پایتون برای جلوگیری از پیچیدگیهای کلاسهای تغییر حالت
استفاده از توابع مرتبه بالاتر داخلی برای جلوگیری از بازنویسی الگوریتمهای رایج
نوشتن توابع مولد برای ایجاد پردازش تنبل
طراحی و پیادهسازی دکوراتورها برای ترکیب تابعی
استفاده از حاشیهنویسیهای نوع پایتون برای توصیف پارامترها و نتایج توابع
اعمال برنامهنویسی تابعی در همزمانی و سرویسهای وب
بررسی کتابخانه PyMonad برای شبیهسازیهای حالتمند
این کتاب برای چه کسانی مناسب است؟
الگوی تابعی برای برنامهنویسانی که در علم داده کار میکنند بسیار مفید است، اما هر توسعهدهنده پایتون که میخواهد کدی قابل اعتمادتر، مختصرتر و رساتر ایجاد کند، چیزهای زیادی برای یادگیری از این کتاب خواهد داشت.
برای شروع، هیچ دانش قبلی از برنامهنویسی تابعی لازم نیست، اگرچه دانش برنامهنویسی پایتون فرض میشود. یک محیط پایتون در حال اجرا ضروری است.
فهرست مطالب
درک برنامهنویسی تابعی
معرفی مفاهیم اساسی تابعی
توابع، تکرارکنندهها و مولدها
کار با مجموعهها
توابع مرتبه بالاتر
بازگشتها و کاهشها
اشیاء پیچیده بدون حالت
ماژول Itertools
Itertools برای ترکیبیات – جایگشتها و ترکیبها
ماژول Functools
بسته Toolz
تکنیکهای طراحی دکوراتور
کتابخانه PyMonad
ماژولهای چندپردازشی، نخکشی و Concurrent.Futures
یک رویکرد تابعی به سرویسهای وب
یک مطالعه موردی کای-اسکوئر






























