[英]subclass constructor using super's constructor
最初定義了這個
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
這是我的代碼。 它說type object 'Dog' has no attribute 'self'
什么問題?
什么時候print(Dog().get_name())
我應該得到狗。
如果你使用的是Python 2.x,你應該寫
super(Dog, self).__init__('name')
或者,對於Python 3:
super().__init__('name')
代替
Dog.self
有關詳細信息,請參閱使用__init __()方法了解Python super() 。
如果你想讓Dog().get_name()
返回'Dog',你應該打電話
super(Dog, self).__init__('Dog')
你應該這樣寫:
class Dog(Mammal):
def __init__(self):
super().__init__('dog name')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.