Python函数高级用法
前面章节,已经介绍了Python函数的所有基本用法和使用注意事项。但是,Python函数的用法还远不止此,Python函数还支持赋值、作为其他函数的参数以及作为其他函数的返回值。
首先,Python允许直接将函数赋值给其它变量,这样做的效果是,程序中也可以用其他变量来调用该函数,更加灵活。例如:
def demo(): print("正在执行demo函数") # 将函数赋值给其它变量 other = demo # 间接调用demo()函数 other()
程序执行结果:
正在执行demo函数
不仅如此,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()
程序执行结果:
调用局部函数
可以看到,通过返回值为函数的形式,可以扩大局部函数的作用域。