“=”上的语法无效

时间:2013-09-14 08:50:33

标签: python syntax-error global

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

1 个答案:

答案 0 :(得分:9)

global语句位于单独的行:

def skip(i):
    global f
    f += i

return在这里是多余的;我把它关了。

global statement'将某个函数中的名称标记为全局;它是一个独特的声明,你只能给它一个或多个名字(用逗号分隔):

global foo, bar, baz

在你放置它们的功能中,只要它们位于自己的行上并不重要。该声明适用于整个功能。因此,在顶部粘贴global语句是有意义的,以避免混淆。