における継承とデフォルト値は、私はそうと、一般的な__init__
値を持つクラスを作るが、そのサブクラスのデフォルトを持ってしようとしています:Pythonの:__init__
class Enemy:
def __init__(self, difficulty, power, MaxHP, magic, MaxMP, speed, name):
self.power = power + 2*difficulty
self.HP = self.MaxHP = MaxHP + 5*difficulty
self.magic = magic + 2* difficulty
self.MP = self.MaxMP = MaxMP + 5*difficulty
class Goblin(Enemy):
def __init_(self, difficulty = 1, power = 1, MaxHP = 5, magic = 1, MaxMP = 5, speed = 5, name = "Goblin"):
super(Goblin, self).__init__(self, power, MaxHP, magic, MaxMP, speed, name)
をしかし、私はゴブリンのオブジェクトを作成しようとすると、残りのデフォルト値が与えられているにもかかわらず、完全な8つの引数が必要だと私に伝えます。私がそれをすることができない理由があるのですか、私はここで何か間違っていますか?
ゴブリンの '__init__'のアンダースコアがありません。そのため、問題の原因となっているコードをコピーして貼り付ける必要があります。そして完全なトレースバックも。 Pythonのトレースバックは通常とても役に立ちます。 –