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
""" 

高阶函数特性总结:

  1. 函数接收的参数是一个函数名
  2. 返回值中包含函数

 

以上是关于Python3 函数式编程的主要内容,如果未能解决你的问题,请参考以下文章

第三周-第18章节-Python3.5-函数式编程与函数不同

Python3 函数式编程

Python3 Python 函数式编程

函数式编程

Python3 函数式编程

Python3入门——函数式编程