python - 属性错误: 'module' object has no attribute 'locals'

标签 python compiler-errors pygame

我正在尝试阅读“用 Python 和 Pygame 制作游戏”一书,在尝试第一个 Blankgame.py 示例时收到此错误消息。当我使用时

from pygame.locals import *

我没有遇到任何错误

if event.type == QUIT:

但是。如果我尝试过

if event.type == pygame.locals.QUIT

没有一开始就导入并执行,就出现了错误。有人可以帮我解决这个问题,并告诉我预先导入和使用 QUIT 的完整常量路径引用之间的区别吗?

谢谢。

最佳答案

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

关于python - 属性错误: 'module' object has no attribute 'locals' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25827987/

相关文章:

android - 启动 Android 程序时出错

Swift 扩展,调用中参数 #1 缺少参数

python - 在 PyGame 中移动图像会隐藏所有其他图像

python - python 3.5 的 Pygame 安装

android - 如何使用 PGS4A 从 Pygame 创建 APK?

python - 未找到 'contact' 的反向。 'contact' 不是有效的 View 函数或模式名称

python - python 无法连接 mongodb

python - 使用 Scikit-Learn 生成高维数据集

python - Scrapy - 提交带有多个按钮的表单

java - 整理代码并修复错误(java)