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
答案 0 :(得分:9)
global
语句位于单独的行:
def skip(i):
global f
f += i
return
在这里是多余的;我把它关了。
global
statement'将某个函数中的名称标记为全局;它是一个独特的声明,你只能给它一个或多个名字(用逗号分隔):
global foo, bar, baz
在你放置它们的功能中,只要它们位于自己的行上并不重要。该声明适用于整个功能。因此,在顶部粘贴global
语句是有意义的,以避免混淆。