Python 分配前引用的本地成员
我在下面的代码中得到这个错误“分配前引用的本地成员事件”Python 分配前引用的本地成员,python,variables,pygame,Python,Variables,Pygame,我在下面的代码中得到这个错误“分配前引用的本地成员事件” for event in event.get(): if event.type == QUIT: sys.exit 我甚至尝试在for循环开始之前添加global event,但是我会得到一个错误,说“event member not defined” 有人能帮我吗?参见pygame文档中的示例: import random, time, pygame, sys from pygame.locals impor
for event in event.get():
if event.type == QUIT:
sys.exit
我甚至尝试在for循环开始之前添加global event
,但是我会得到一个错误,说“event member not defined”
有人能帮我吗?参见pygame文档中的示例:
import random, time, pygame, sys
from pygame.locals import *
...
for event in pygame.event.get():
if event.type == QUIT: #event is quit
terminate()
我猜问题是您已经导入了pygame.event,因此您遇到了名称冲突。将导入更改为仅导入pygame(并使用限定的引用
pygame.event
),或者根据建议,为迭代器变量使用不同的名称 用于event.get()中的事件:
-hmm,事件“获取”自身?如果事件确实被声明为全局的,这是一个稍微奇怪的情况,但是基本的解决方案是为循环使用不同的(本地)变量名。您是否尝试过if event.type==pygame.QUIT:
和/或for pygame.event.get()中的事件:
?而sys.exit
(应该是sys.exit()
)上缺少的括号可能是您对迭代项和迭代器使用了相同的变量名event
?可能是evt在event.get()中的:
我正在从pygame导入中执行*
,因此我不必在任何地方使用pygame.something。我将其更改为导入pygame,并在任何地方执行pygame.event.get()之类的操作,结果成功了。谢谢大家