Python 函数式编程

函数式编程--functional programming编程

能够归结到面向过程的程序设计,但其思想更接近数学计算。编程语言

对应到编程语言,就是越低级的语言,越贴近计算机,抽象程度低,执行效率高,好比C语言;越高级的语言,越贴近计算,抽象程度高,执行效率低,好比Lisp语言。函数式编程

函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,所以,任意一个函数,只要输入是肯定的,输出就是肯定的,这种纯函数咱们称之为没有反作用。函数

而容许使用变量的程序设计语言,因为函数内部的变量状态不肯定,一样的输入,可能获得不一样的输出,所以,这种函数是有反作用的。设计

函数式编程的一个特色就是,容许把函数自己做为参数传入另外一个函数,还容许返回一个函数!code

Python对函数式编程提供部分支持。因为Python容许使用变量,所以,Python不是纯函数式编程语言。get


函数名其实就是指向函数的变量!数学

abs = 10  是能够赋值的 可是赋值之后不可执行abs(-10) 抛出io

TypeError: 'int' object is not callable

def get(number):
    return number;
abs = get;
print abs(-10)function

说明内置的函数名也是能够指向新的函数的。


既然变量能够指向函数,函数的参数能接收变量,那么一个函数就能够接收另外一个函数做为参数,这种函数就称之为高阶函数。

一个最简单的高阶函数:

def add(x, y, f):
    return f(x) + f(y)

add(-5, 6, abs) = 11.

相关文章
相关标签/搜索