[英]recursion and closures in python3
env python 3.8.2 我无法获得值 var return
def a(x):
def b():
nonlocal x
if x>2:
print(x)
return x
x = x + 1
b()
return b
print(a(1)())
结果是
4
None
我想返回 x 的值,但不是无,即使打印的值
返回b()
。 第一次调用 b 时,它到达b()
但不返回任何内容,因此您的最终返回值为 None。
def a(x):
def b():
nonlocal x
if x>2:
print(x)
return x
x = x + 1
return b()
return b
print(a(1)())
> 3
> 3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.