f=1
def skip(i):
global f +=i
return
怎么了?
我不知道
>>> f
1
>>> skip(3)
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
skip(3)
File "C:/Users/PC/Desktop/game.py", line 4, in skip
f +=i
UnboundLocalError: local variable 'f' referenced before assignment
请您参考如下方法:
global 语句位于单独的行:
def skip(i):
global f
f += i
return 在这里是多余的;我把它关掉了。
global statement将函数中的名称“标记”为全局;这是一个独特的声明,您只能给它一个或多个名称(以逗号分隔):
global foo, bar, baz
将它们放在函数中的什么位置并不重要,只要它们在它们自己的一行上即可。该语句适用于整个 函数。因此,将 global 语句放在顶部是有意义的,以避免混淆。
