私はプログラミングが初めてで、Pythonの使い方を学ぶためだけに小さなプログラムを作成し、これを作成しました。
1 つのファイルにまとめれば問題なく動作しますが、Atlas.py、Robot.py、Test.py という 3 つのファイルに分けるとうまくいきます。
初期化行のロボット クラスに「未定義変数: アトラス」というエラーが表示されます。
すぐ上のコメントで、どのファイルに含まれているかをコメントしました。
#Atlas.py
class Atlas:
def __init__(self):
self.robots = []
self.currently_occupied = {}
def add_robot(self, robot):
self.robots.append(robot)
self.currently_occupied = {robot:[]}
#Robot.py
class Robot():
def __init__(self, rbt, atlas = Atlas): #This is the main error:"Undefined Variable: Atlas" This happens after i separate the file
self.xpos = 0
self.ypos = 0
self.atlas = atlas()
self.atlas.add_robot(rbt)
self.name = rbt
def walk(self, axis, steps=2):
....
#Test.py
robot1 = Robot("robot1")
これらのクラスを対応するファイルに配置すると、Test.py は次のようになります。
#Test.py
import Robot
robot1 = Robot("robot1")