首页 > 代码库 > python函数式编程
python函数式编程
什么是函数式编程?
函数式编程(functional programming)是一种编程范式,也就是如何编写程序的方法论。目前我们所熟知的是命令式编程,这里的命令式编程语言泛指所有把修改变量的值当作最基本计算方式的语言,函数式编程语言指把一个程序的输出定义为其输入的数学函数的语言,纯函数式编程没有内部状态的概念,也没有副作用。
函数式编程的特点
1、函数即对象
函数可以直接赋给变量
2、有属性和方法
>>> my_sum = sum >>> sum([1,2,3]) 6 >>> my_sum([1,2,3]) 6 >>> dir(my_sum) [‘__call__‘, ‘__class__‘, ‘__cmp__‘, ‘__delattr__‘, ‘__doc__‘, ‘__eq__‘, ‘__format__‘, ‘__ge__‘, ‘__getattribute__‘, ‘__gt__‘, ‘__hash__‘, ‘__init__‘, ‘__le__‘, ‘__lt__‘, ‘__module__‘, ‘__name__‘, ‘__ne__‘, ‘__new__‘, ‘__reduce__‘, ‘__reduce_ex__‘, ‘__repr__‘, ‘__self__‘, ‘__setattr__‘, ‘__sizeof__‘, ‘__str__‘, ‘__subclasshook__‘] >>> my_sum.__name__ ‘sum‘
3、函数可以做参数
>>> def f(a,b): ... return a + b ... >>> def f1(func,a,b): ... return func(a,b) ... >>> f1(f,1,3) 4
函数式编程和命令式编程的区别
目标:分别使用函数式编程和命令式编程实现 f(a,b,c,d) = (a+b)*c-d
命令式编程:
def f1(a,b,c,d): e = a + b f = e * c g = f - d return g #命令式编程实现 ret = f1(a,b,c,d)
函数是实现:
def f_add(a,b): return a + b def f_sub(a,b): return a - b def f_multi(a,b): return a * b #函数式编程实现 ret = f_sub(f_multi(f_add(a,b),c),d)
python函数式编程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。