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