前面章节,已经介绍了 Python 函数的所有基本用法和使用注意事项。但是,Python 函数的用法还远不止此,Python 函数还支持赋值、作为其他函数的参数以及作为其他函数的返回值。
首先,Python 允许直接将函数赋值给其它变量,这样做的效果是,程序中也可以用其他变量来调用该函数,更加灵活。例如:
def my_def ():
print("正在执行 my_def 函数")
#将函数赋值给其他变量
other = my_def
#间接调用 my_def() 函数
other()
程序执行结果为:
不仅如此,Python 还支持将函数以参数的形式传入其他函数中。例如:
def add (a,b):
return a+b
def multi(a,b):
return a*b
def my_def(a,b,dis):
return dis(a,b)
#求 2 个数的和
print(my_def(3,4,add))
#求 2 个数的乘积
print(my_def(3,4,multi))
程序执行结果为:
通过分析上面程序不难看出,通过使用函数作为参数,可以在调用函数时动态传入函数,从而实现动态改变函数中的部分实现代码,在不同场景中赋予函数不同的作用。
与此同时,Python 还支持函数的返回值也为函数。例如:
def my_def ():
#局部函数
def indef():
print("调用局部函数")
#调用局部函数
return indef
other_def = my_def()
#调用局部的 indef() 函数
other_def()
程序执行结果为:
可以看到,通过返回值为函数的形式,可以扩大局部函数的作用域。