"="上的语法无效

1 python global syntax-error

f=1

def skip(i):
    global f +=i
    return
Run Code Online (Sandbox Code Playgroud)

怎么了?

我不知道

>>> 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
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 9

global声明单独列出:

def skip(i):
    global f
    f += i
Run Code Online (Sandbox Code Playgroud)

return这里是多余的; 我把它留了下来.

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

global foo, bar, baz
Run Code Online (Sandbox Code Playgroud)

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