【发布时间】:2019-04-21 20:42:35
【问题描述】:
尝试了解如何从嵌套函数中为变量赋值。但它不起作用。是因为当我使用a = b 时,它认为a 是嵌套函数的局部变量吗?那么如何从 func 为 a 变量赋值呢?
def func():
a = 0
def nested(b):
global a
a = b
nested(3)
return a
print(func())
【问题讨论】:
-
理想情况下,从嵌套函数返回并赋值。如果不需要,不要乱用范围。
-
使用
nonlocal而不是global,也就是说我同意@ParitoshSingh 的观点,除非你正在使用装饰器之类的东西,否则你不应该返回值。
标签: python python-3.x