[英]Python 3.6.0 Class Inheritance
class Animal:
def __init__(self, name, species):
self.name = name
self.species = species
def getName(self):
return self.name
def getSpecies(self):
return self.species
def __del__(self):
print ("This came from del method")
class Dog(Animal):
pass
def __init__(self, name, isBig):
Animal.__init__(self, name, "Dog")
self.isBig = isBig
我一直在學習理解班級和兒童班級,並遇到以下問題。 實例化時
dog = Dog("Bob", True)
並嘗試從父類Animal類訪問方法getName(),我得到以下錯誤:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
dog.getName()
AttributeError: Dog instance has no attribute 'getName'
是什么使我無法直接訪問父類的方法?
不要忘記縮進在Python中很重要!
這是在Animal
類中包含所有方法的代碼的樣子:
class Animal:
def __init__(self, name, species):
self.name = name
self.species = species
def getName(self):
return self.name
def getSpecies(self):
return self.species
def __del__(self):
print ("This came from del method")
如果您錯過了一個縮進塊,Python會認為您已經完成了類定義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.