Во-первых, вот мой код:
class Enemy():
def __init__(self, name, hp, damage):
self.name = name
self.hp = hp
self.damage = damage
def is_alive(self):
"""Checks if alive"""
return self.hp > 0
class WildBoar(Enemy):
def __init__(self):
super(WildBoar, name="Wild Boar", hp=10, damage=2).__init__()
class Marauder(Enemy):
def __init__(self):
super(Marauder, name="Marauder", hp=20, damage=5).__init__()
class Kidnappers(Enemy):
def __init__(self):
super(Kidnappers, name="The Kidnappers", hp=30, damage=7).__init__()
Когда я скомпилирую это, я получаю эту ошибку:
super(WildBoar, name="Wild Boar", hp=10, damage=2).__init__()
TypeError: super does not take keyword arguments
Я попытался оглянуться на любую помощь, но ничего не нашел. У меня также есть некоторые Kwargs в некоторых других классах, но это те, которые поднимают любые проблемы (на данный момент). Итак, что может быть причиной этого? Я также видел, как кто-то сказал, что установка super
в базовом классе будет исправлена, но это не сработало (я передал те же аргументы, что и в базовом классе __init__
).