【发布时间】:2015-08-18 11:27:22
【问题描述】:
首先,这是我的代码:
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__ 中相同的参数)。
【问题讨论】:
标签: python class inheritance super