前面章节,已经介绍了 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()
程序执行结果为:
可以看到,通过返回值为函数的形式,可以扩大局部函数的作用域。