我正在尝试阅读这本书"使用Python制作游戏& Pygame的"当我尝试第一个blankgame.py示例时,我收到此错误消息。我用的时候
来自pygame.locals import *
我没有错误
如果event.type == QUIT:
然而。如果我试过
如果event.type == pygame.locals.QUIT
没有在开头导入并执行,发生错误。任何人都可以帮我解决这个问题并告诉我手工导入和使用QUIT的完整常量路径参考之间的区别。
谢谢。
答案 0 :(得分:1)
from pygame.locals import *
这将从' pygame.locals'中导入所有内容。进入本地命名空间。因此,您将访问该模块的成员,就好像它们位于您自己的当前名称空间中一样。因此,您不应该使用pygame.locals为调用添加前缀。如果使用像pygame.locals.QUIT这样的前缀调用,那将是一个错误。
import pygame.locals
这将加载来自' pygame.locals'但不是你的命名空间。您仍然需要使用' pygame.locals'前缀调用。比如pygame.locals.QUIT。
使用pygame.locals.QUIT而不使用上面的导入会导致错误,因为它从未加载模块pygame.locals