混合游戏时间()和时间。时间()

2024-05-18 15:18:55 发布

您现在位置:Python中文网/ 问答频道 /正文

对于我使用的扫雷游戏time.time(),我导入了time和{}。这是我的错误报告

line 5, in save_score
    end = time.time()
AttributeError: module 'pygame.time' has no attribute 'time'

这里有证据证明我确实导入了time和pygame:

^{pr2}$

如果有人能解释如何避免/修正这个错误,我们将不胜感激。在


Tags: noin游戏证据timesavelineattribute
1条回答
网友
1楼 · 发布于 2024-05-18 15:18:55

由于您的行,您遇到了命名空间冲突:

from pygame import *

这会使您的全局命名空间受到从pygame导入的所有内容的污染。它使懒惰的生活变得简单——你不必引用特定的名称空间来使用pygame的函数。但它也有一些不好的后果。在

在本例中,您已经将“time”作为模块导入到全局命名空间中。从pygame导入时,它有一个名为time的子模块。游戏时间更换你的常规时间模块。在

解决这个问题的方法是正确地使用模块/名称空间。在

一种方法是,不要使用from pygame import *,而是使用:

^{pr2}$

但是你必须把pygame放在对pygame函数或模块的引用前面。这通常是好的,这样您和其他任何阅读您的代码的人都知道您在调用什么函数。在

您可以使用import ... as将其稍微缩写:

import pygame as pg

然后,你可以做pygame.time,而不是做pg.time。在

如果要将某些内容特别放入全局命名空间中,可以执行以下操作:

from pygame import foo

或者

from pygame import time as pygt

但是如果你做from pygame import timefrom pygame import *,pygame的时间将覆盖另一个时间模块。在

相关问题 更多 >

    热门问题