あなたが原因あなたの行に、名前空間の衝突に遭遇している:
from pygame import *
これはpygameのからインポートすることができますすべてのものを使用してグローバルな名前空間を汚染しています。それは怠惰な生活を楽にします - あなたはpygameの機能を使うために特定の名前空間を参照する必要はありません。しかしそれには悪い結果もあります。
この場合、グローバル名前空間のモジュールとして「時間」をインポートしていました。あなたがパイゲームから行ったようにインポートすると、それは時間と呼ばれるサブモジュールを持っていました。 pygame.time通常の時間モジュールを置き換えます。
これを修正する方法は、モジュール/名前空間を適切に使用することです。これを行うには
一つの方法は、代わりにfrom pygame import *
を使用してのものであり、代わりに使用します。
import pygame
しかし、その後、あなたはpygameの機能やモジュールへのすべての参照の前にpygameのを配置する必要があります。これは一般的には良いことです。コードを読んだあなたと他の誰かが、あなたが呼んでいる機能を正確に知っているということです。
あなたはimport ... as
を使用して、それを少し短縮することができます。
import pygame as pg
代わりpygame.time
のような物事の後、あなたがpg.time
を行うだろう。
あなたが特にグローバル名前空間に配置するいくつかのものがある場合は、のようなものを行うことができます:あなたはfrom pygame import time
かfrom pygame import *
をすれば、pygameのダウンロードの時間を
from pygame import foo
または
from pygame import time as pygt
しかし、他の時間モジュールを上書きします。
'〜からpygame import *'を実行すると競合します(http://stackoverflow.com/questions/9916878/importing-modules-in-python-best-practiceを参照) – fredtantini