官术网_书友最值得收藏!

Understanding Functional Programming

Functional programming defines a computation using expressions and evaluation; often these are encapsulated in function definitions. It de-emphasizes or avoids the complexity of state change and mutable objects. This tends to create programs that are more succinct and expressive. In this chapter, we'll introduce some of the techniques that characterize functional programming. We'll identify some of the ways to map these features to Python. Finally, we'll also address some ways in which the benefits of functional programming accrue when we use these design patterns to build Python applications.

Python has numerous functional programming features. It is not a purely a functional programming language. It offers enough of the right kinds of features that it confers the benefits of functional programming. It also retains all the optimization power of an imperative programming language.

We'll also look at a problem domain that we'll use for many of the examples in this book. We'll try to stick closely to Exploratory Data Analysis (EDA) because its algorithms are often good examples of functional programming. Furthermore, the benefits of functional programming accrue rapidly in this problem domain.

Our goal is to establish some essential principles of functional programming. The more serious Python code will begin in Chapter 2, Introducing Some Functional Features.

We'll focus on Python 3.6 features in this book. However, some of the examples might also work in Python 2.
主站蜘蛛池模板: 德安县| 沙坪坝区| 潞西市| 磐安县| 夏津县| 鸡东县| 逊克县| 肃南| 恩平市| 宁武县| 吉首市| 晋城| 民和| 女性| 永昌县| 屏东县| 从化市| 隆回县| 冷水江市| 高碑店市| 荆州市| 青海省| 临洮县| 华池县| 新乐市| 四子王旗| 克东县| 墨竹工卡县| 铜鼓县| 安阳市| 湘乡市| 海口市| 奈曼旗| 济宁市| 永仁县| 云南省| 达孜县| 连江县| 瑞金市| 介休市| 彰化县|