Python3 函数式编程
Posted 迷鸟归林
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3 函数式编程相关的知识,希望对你有一定的参考价值。
函数式编程
函数式编程是种编程方式,它将电脑运算视为函数的计算;通俗来说就是先用数学逻辑定义一个表达式,然后使用函数来实现这个功能。
实例(Python3.0+):
y = 2*x+1 --> 先定义一个数学表达式 def cal(x): ‘‘‘ 说明:使用函数实现上述表达式的功能 ‘‘‘ return 2*x+1 # 上述过程就是函数式编程
如何判断一个函数是否属于函数式编程?
- 不用变量保存状态(不给变量赋值),不修改变量
实例(Python3.0+):
# 非函数式编程 n = 1 def cal(): global n n+=1 return n cal() # 函数式编程 n =1 def cal(n): return n+1 cal(10)
函数即变量
在Python编程中,有一种说法:函数即变量,如何体现呢?
实例(Python3.0+):
def foo(n): print(n) def bar(name): print(‘my name is sunwk‘) foo(bar) # 把函数bar(也就是bar函数的内存地址)当成变量(参数)传给了foo函数 运行结果: >>> <function bar at 0x0000000000FA58C8>
高阶函数
随着知道的知识多了,接触面广了,也越来越糊涂了,刚开始接触高阶函数,那什么是高级函数啊,先搞几个例子看看吧
实例(Python3.0+):
def foo(): print(‘from foo‘) def bar(): print(‘from bar‘) return foo a = bar() print(a()) # 运行结果: >>>from bar >>>from foo >>>None """ 为什么最后会输出一个None呢,因为print(a()),首先执行a()相对于执行foo(),但是print后,相当于输出foo()的return返回值,foo函数中未定义,所以返回None """
高阶函数特性总结:
- 函数接收的参数是一个函数名
- 返回值中包含函数
以上是关于Python3 函数式编程的主要内容,如果未能解决你的问题,请参考以下文章