3 回答

TA贡献1850条经验 获得超11个赞
UnboundLocalError: local variable 'a' referenced before assignment
a = 15
这个 a
第一行是一个全局变量(之所以被称为全局变量,是因为它存在于任何函数定义之外的全局范围中)。 这个 a
在其他行中是一个局部变量,这意味着它只存在于 test()
功能。
a = a +10
test()
a
=
a
a +10
.
a
test()
a
def test(): global a a = a + 10 print(a)
a = 15def test(x): x = x + 10 print(x)test(a)
test()
a
7
>>> a = 15>>> test(a)25>>> a15
… a
test()
x
x
a
a
x
a
>>> a = 15
>>>
>>> def test(x):
... x = x + 10
... print(x)
... return x
...
>>> a = test(a)
25
>>> a
25

TA贡献1807条经验 获得超9个赞
a
test()
a
a = 15def test(): global a a = a + 1 print(a)test()

TA贡献1812条经验 获得超5个赞
def test(a): a = a +10 return aprint(test(15))
print(test(15))
test(a)
print(test(15))
def test(a): a +=10 return aprint(test(15))
添加回答
举报