[英]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.