返回函数
- 函数也可以返回具体的值
- 也可以返回一个函数作为结果
# 定义一个普通函数
def myF(a):
print('In myF')
return None
a = myF(8)
print(a)
In myF
None
# 函数作为返回值返回,被返回的函数在函数体内定义
def myF2():
def myF3():
print("In myF3")
return 3
return myF3
# 使用上面定义
# 调用myF2,返回一个函数myF3,赋值给f3
f3 = myF2()
print(type(f3))
print(f3)
f3()
<class 'function'>
<function myF2.<locals>.myF3 at 0x00000251F3050EA0>
In myF3
3
# 负责一点的返回函数的例子
# args:参数列表
# 1.myF4定义函数,返回内部定义的函数myF5
# 2.myF5使用了外部变量,这个变量是myF4的参数
def myF4(*args):
def myF5():
rst = 0
for n in args:
rst += n
return rst
return myF5
f5 = myF4(1,2,3,4,5,6,7,8,9)
# f5的调用方式
f5()
45
f6 = myF4(10,20,30,40,50)
# f5的调用方式
f6()
150