Python函数高级用法¶
在Python中, 函数支持赋值, 作为其它函数的参数以及作为其它函数的返回值.
- Python允许直接将函数赋值给其它变量;
这样做的效果是, 程序中也可以用其它变量来调用该函数.
Example:
def foo():
print('hello, world')
# 将函数赋值给一个变量
bar = foo
# 通过该变量来调用函数
bar()
运行结果为:
hello, world
- Python支持函数以参数的形式传入其它函数;
Example:
def add(x, y):
return x + y
def multi(x, y):
return x * y
def f(x, y, op):
return op(x, y)
# 求两个数的和
print(f(2, 3, add))
# 求两个数的积
print(f(2, 3, multi))
运行结果为:
5
6
通过将函数作为参数, 可以在调用函数时动态传入函数, 从而实现动态地改变函数中的部分实现代码, 在不同场景中赋予函数不同的作用.
- Python支持将函数的返回值也是函数.
Example:
def foo():
# 局部函数
def bar():
print('hello, world')
# 将局部函数作为返回值
return bar
f = foo()
f()
运行结果为:
hello, world