- 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.
- Dynamics 365 for Finance and Operations Development Cookbook(Fourth Edition)
- ClickHouse性能之巔:從架構設計解讀性能之謎
- OpenDaylight Cookbook
- Python數據分析入門與實戰
- Python網絡爬蟲從入門到實踐(第2版)
- Visual C++數字圖像處理技術詳解
- Learning Zurb Foundation
- Tableau 10 Bootcamp
- Visual Studio 2015高級編程(第6版)
- Mastering Docker
- C++程序設計
- 數據分析與挖掘算法:Python實戰
- MongoDB Cookbook(Second Edition)
- Wearable:Tech Projects with the Raspberry Pi Zero
- 基于MATLAB的控制系統仿真及應用