def fib(x=0,y=0):
def returnFib():
nonlocal x,y
if x == 0 and y == 0:
x = 0
y = 1
elifx == 0 and y == 1:
x = 1
y = x+y
else:
x,y = y,x+y
print(y)
return returnFib
f = fib()
# for i in range(1,10):
# print(f())
# i += 1
f() 打卡!{:10_334:} 函数只有在定义和调用时才会用到小括号;将函数作为返回值或参数时,只需要写上函数名,不需要用到小括号 滴滴滴,打个卡 学习 闭包闭包-20250603 注:对于外包函数定义的过程中,vic(xx)中的xx可以是任何的字母,只要和下面的调用函数名一致就可以,即在定义外包函数的过程中,只需要告诉python,定义的是一个嵌套函数,后面调用对应的嵌套函数。最后的调用vic时,则需要指定函数的实际命名即func。
def func():
print('it is best time')
def vic(xx):
print('mobilize')
xx()
print('sucesseful')
vic(func)
mobilize
it is best time
sucesseful
页:
1
[2]