それはいけません。direction
は関数のローカル変数であり、__init__
その関数の外では使用できません。
変数はまったく使用されません。関数から削除しても何も変わりません。
この__init__
メソッドは、新しく作成されたインスタンスに属性を設定することを目的としていますが、クラスは代わりにクラスsecond
の属性を見つけたいようです。アクセスしたい属性は でのみ設定されるため、それもできません。クラス自体ではなく、 のインスタンスでのみ見つけることができます。first
__init__
position
first
first
position
おそらく、最初に親クラスを初期化し、実際に に保存したいでしょうself
:
class first(object):
def __init__(self, room, speed):
self.position = room
self.speed = 20
self.direction = random.randint(0,359)
class second(first):
def __init__(self, room, speed)
super(second, self).__init__(room, speed)
self.way = self.direction
self.now = self.position
および属性self
が定義され、関数はそこにある属性にアクセスできるようになりました。direction
position
second.__init__