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)
该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,在顶部粘贴一个声明是有意义的,以避免混淆.
| 归档时间: |
|
| 查看次数: |
356 次 |
| 最近记录: |