python – 使用super的构造函数的子类构造函数
发布时间:2020-12-20 11:34:40 所属栏目:Python 来源:网络整理
导读:最初定义了这个 class Mammal(object): def __init__(self,name): self.name = name def get_name(self): return self.name def say(self): return("What does the " + self.name + " says") 但现在我们要创建Mammals的子类,其构造函数将使用正确的名称调用M
最初定义了这个
class Mammal(object): def __init__(self,name): self.name = name def get_name(self): return self.name def say(self): return("What does the " + self.name + " says") 但现在我们要创建Mammals的子类,其构造函数将使用正确的名称调用Mammal的构造函数. class Dog(Mammal): def __init__(self): Dog.self 这是我的代码.它说类型对象’狗’没有属性’自己’有什么问题? 什么时候打印(狗().get_name())我应该得到狗. 解决方法
如果你使用的是Python 2.x,你应该写
super(Dog,self).__init__('name') 或者,对于Python 3: super().__init__('name') 代替 Dog.self 有关详细信息,请参见Understanding Python super() with __init__() methods 如果你想让Dog().get_name()返回’Dog’,你应该打电话 super(Dog,self).__init__('Dog') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |