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

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.
主站蜘蛛池模板: 成安县| 岚皋县| 岳普湖县| 宜章县| 万荣县| 阳信县| 尤溪县| 伊宁县| 宁强县| 梨树县| 东乌| 湖州市| 织金县| 陆丰市| 固原市| 阳城县| 黑龙江省| 登封市| 余庆县| 福贡县| 清远市| 高青县| 建湖县| 雷州市| 和龙市| 大洼县| 万荣县| 沙河市| 绥江县| 淳安县| 波密县| 忻城县| 东源县| 会宁县| 济宁市| 师宗县| 黔东| 慈溪市| 渑池县| 开原市| 四平市|