繼承和默認值,我試圖與通用__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個參數,即使其餘的都是默認值。我有什麼理由不能這樣做,或者我在這裏做錯了什麼?
你錯過了Goblin的'__init__'下劃線。所以你應該複製並粘貼導致問題的代碼。還有完整的追溯。 Python的回溯通常非常有用。 –