Skip to main content
 首页 » 编程设计

python之使用全局时 '=' 上的语法无效

2025年05月04日10myhome

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 语句放在顶部是有意义的,以避免混淆。