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

  • Mastering Python
  • Rick van Hattem
  • 179字
  • 2021-07-16 11:10:34

Functional programming

Functional programming is a paradigm that originates from the lambda calculus. Without diving too much into the lambda calculus (λ-calculus), this roughly means that computation is performed through the use of mathematical functions, which avoids mutable data and changing state of surroundings. The idea of a strictly functional language is that all function outputs are dependent only on the input and not on any external state. Since Python is not strictly a programming language, this doesn't necessarily hold true, but it is a good idea to adhere to this paradigm as mixing these can cause unforeseen bugs as discussed in Chapter 2, Pythonic Syntax, Common Pitfalls, and Style Guide.

Even outside of functional programming, this is a good idea. Keeping functions purely functional (relying only on the given input) makes code clearer, easier to understand, and better to test as there are less dependencies. Well-known examples can be found within the math module. These functions (sin, cos, pow, sqrt, and so on) have an input and an output that is strictly dependent on the input.

主站蜘蛛池模板: 星子县| 静安区| 清丰县| 乌拉特中旗| 满洲里市| 明水县| 淄博市| 金堂县| 麻阳| 南岸区| 云和县| 灵川县| 武汉市| 武隆县| 铜川市| 西吉县| 青海省| 永福县| 兴安盟| 呼图壁县| 裕民县| 溧阳市| 鹤壁市| 舒兰市| 东光县| 无棣县| 土默特右旗| 望江县| 陆河县| 房产| 韩城市| 包头市| 邻水| 东乌| 太和县| 南皮县| 汽车| 安西县| 景东| 栾川县| 上林县|