【发布时间】:2020-04-21 01:15:09
【问题描述】:
def f(a, *arguments):
for arg in arguments:
print(arg)
return arg
f(5)
错误:
Traceback (most recent call last):
File "test.py", line 6, in <module>
f(5)
File "test.py", line 5, in f
return arg
UnboundLocalError: local variable 'arg' referenced before assignment
如果你像这样改变函数 f()
def f(a, *arguments):
for arg in range(1,4):
print(arg)
return arg
f(5)
输出是这样的:
1
2
3
现在 arg 在函数中是全局的。为什么会这样?
【问题讨论】: