توضیحاتی در مورد کتاب :
رسانه O’Reilly، 2015 - 47 صفحه; ISBN-13: 978-1-491-92856-1; به انگلیسی языке.
توضیحات کتابPython یک زبان برنامه نویسی تابعی نیست، اما یک زبان چند پارادایم است که برنامه نویسی تابعی را آسان می کند. برای اجرا و ترکیب آسان با سایر سبک های برنامه نویسی. در این مقاله، دیوید مرتز، مدیر بنیاد نرمافزار پایتون، جنبههای کاربردی زبان را بررسی میکند و اشاره میکند که کدام گزینهها به خوبی کار میکنند و کدامها را به طور کلی باید رد کنید.
مرتز راههایی را برای اجتناب از کنترل جریان به سبک دستوری پایتون، تفاوتهای ظریف توابع قابل فراخوانی، نحوه کار تنبل با تکرارکنندهها و استفاده از توابع درجه بالاتر را توضیح میدهد. او همچنین چندین کتابخانه پایتون شخص ثالث را که برای برنامه نویسی عملکردی مفید هستند فهرست می کند. برای توصیف "چه" یک مجموعه داده به جای "چگونگی" ایجاد یک مجموعه داده
ایجاد فراخوانی با توابع نامگذاری شده، لامبداها، بسته ها، متدهای کلاس ها و ارسال چندگانه
با استفاده از پروتکل تکرار کننده پایتون برای انجام همان اثر ساختار داده تنبل
ایجاد توابع مرتبه بالاتر که توابع را به عنوان آرگومان می گیرند و/یا تابعی را در نتیجه تولید می کنند
فهرست مطالبپیشگفتار
(اجتناب از) کنترل جریان
کالاها
ارزیابی تنبل
توابع با مرتبه بالاتر
توضیحاتی در مورد کتاب به زبان اصلی :
O’Reilly Media, 2015 - 47 pages; ISBN-13: 978-1-491-92856-1; на англ. языке.
Book DescriptionPython is not a functional programming language, but it is a multi-paradigm language that makes functional programming easy to perform, and easy to mix with other programming styles. In this paper, David Mertz, a director of Python Software Foundation, examines the functional aspects of the language and points out which options work well and which ones you should generally decline.
Mertz describes ways to avoid Python’s imperative-style flow control, the nuances of callable functions, how to work lazily with iterators, and the use of higher-order functions. He also lists several third-party Python libraries useful for functional programming.
Topics include:
Using encapsulation and other means to describe "what" a data collection consists of, rather than "how" to construct a data collection
Creating callables with named functions, lambdas, closures, methods of classes, and multiple dispatch
Using Python’s iterator protocol to accomplish the same effect as a lazy data structure
Creating higher-order functions that take functions as arguments and/or produce a function as a result
Table Of ContentsPreface
(Avoiding) Flow Control
Callables
Lazy Evaluation
Higher-Order Functions