2024-05-18 15:18:55 发布
网友
对于我使用的扫雷游戏time.time(),我导入了time和{}。这是我的错误报告
time.time()
time
line 5, in save_score end = time.time() AttributeError: module 'pygame.time' has no attribute 'time'
这里有证据证明我确实导入了time和pygame:
如果有人能解释如何避免/修正这个错误,我们将不胜感激。在
由于您的行,您遇到了命名空间冲突:
from pygame import *
这会使您的全局命名空间受到从pygame导入的所有内容的污染。它使懒惰的生活变得简单——你不必引用特定的名称空间来使用pygame的函数。但它也有一些不好的后果。在
在本例中,您已经将“time”作为模块导入到全局命名空间中。从pygame导入时,它有一个名为time的子模块。游戏时间更换你的常规时间模块。在
解决这个问题的方法是正确地使用模块/名称空间。在
一种方法是,不要使用from pygame import *,而是使用:
但是你必须把pygame放在对pygame函数或模块的引用前面。这通常是好的,这样您和其他任何阅读您的代码的人都知道您在调用什么函数。在
您可以使用import ... as将其稍微缩写:
import ... as
import pygame as pg
然后,你可以做pygame.time,而不是做pg.time。在
pygame.time
pg.time
如果要将某些内容特别放入全局命名空间中,可以执行以下操作:
from pygame import foo
或者
from pygame import time as pygt
但是如果你做from pygame import time或from pygame import *,pygame的时间将覆盖另一个时间模块。在
from pygame import time
由于您的行,您遇到了命名空间冲突:
这会使您的全局命名空间受到从pygame导入的所有内容的污染。它使懒惰的生活变得简单——你不必引用特定的名称空间来使用pygame的函数。但它也有一些不好的后果。在
在本例中,您已经将“time”作为模块导入到全局命名空间中。从pygame导入时,它有一个名为time的子模块。游戏时间更换你的常规时间模块。在
解决这个问题的方法是正确地使用模块/名称空间。在
一种方法是,不要使用
^{pr2}$from pygame import *
,而是使用:但是你必须把pygame放在对pygame函数或模块的引用前面。这通常是好的,这样您和其他任何阅读您的代码的人都知道您在调用什么函数。在
您可以使用
import ... as
将其稍微缩写:然后,你可以做
pygame.time
,而不是做pg.time
。在如果要将某些内容特别放入全局命名空间中,可以执行以下操作:
或者
但是如果你做
from pygame import time
或from pygame import *
,pygame的时间将覆盖另一个时间模块。在相关问题 更多 >
编程相关推荐