メイン、ベクター、エンティティ、物理学という4つの異なるファイルがあります。私はそれがエラーがあるところだと思うので、私はすべてのコードを投稿するのではなく、インポートだけをします。(必要に応じて、さらに投稿できます)
メイン:
import time
from entity import Ent
from vector import Vect
#the rest just creates an entity and prints the result of movement
エンティティ:
from vector import Vect
from physics import Physics
class Ent:
#holds vector information and id
def tick(self, dt):
#this is where physics changes the velocity and position vectors
ベクター:
from math import *
class Vect:
#holds i, j, k, and does vector math
物理:
from entity import Ent
class Physics:
#physics class gets an entity and does physics calculations on it.
次にmain.pyから実行すると、次のエラーが発生します。
Traceback (most recent call last): File "main.py", line 2, in <module> from entity import Ent File ".../entity.py", line 5, in <module> from physics import Physics File ".../physics.py", line 2, in <module> from entity import Ent ImportError: cannot import name Ent
私はPythonに非常に慣れていませんが、長い間C ++を使用してきました。エラーはエンティティを2回インポートしたことが原因であると思います。誰か助けてもらえますか?
from <module> import <name>
、やを行うのは良いコーディング方法ではありませんfrom <modlue> import *
。同じ名前の参照が上書きされる可能性を防ぐために、モジュールの名前空間の下にインポートする方がよい
Entity
し、Vector
代わりにEnt
及びVect
、そのような名前を短くする理由はありません。そして、はい、import vector
それから使用しx = vector.Vector(0,0,0)
ます。