Я новичок в python и просто пытаюсь проверить синтаксис и узнать его. Код ниже работает отлично, за исключением случаев, когда я получаю наследование. Последняя команда «toString» не работает, и я не могу понять, почему.Python Inheritance - Instance не имеет атрибута
Я уверен, что я не делаю что-то наиболее эффективным способом, но даже если есть более эффективный способ, я сначала хотел бы понять, почему то, что я делаю, неверно. большое спасибо. Пожалуйста, дайте мне знать, если мне нужно уточнить что-нибудь
#!/bin/python
class Animal:
__name = ""
__height = 0
__weight = 0
__sound = 0
def __init__(self, name, height, weight, sound):
self.__name = name
self.__height = height
self.__weight = weight
self.__sound = sound
def set_name(self,name):
self.__name = name
def get_name(self):
return self.__name
def set_height(self,height):
self.__height = height
def get_height(self):
return self.__heiight
def set_weight(self,weight):
self.__weight=weight
def get_weight(self):
return self.__weight
def set_sound(self,sound):
self.__sound = sound
def get_sound(self):
return self.__sound
def get_type(self):
print("Animal")
def toString(self):
return("{} is {} inches tall, {} lbs, and says {}".format(self.__name, self.__height,self.__weight,self.__sound))
objCat = Animal('Whiskers', 33, 10, 'Meow')
print (objCat.toString())
# Attempt Inheritance
class cDog(Animal):
__owner=""
def __init__(self,name,height,weight,sound,owner):
self.__owner=owner
Animal.__init__(self,name,height,weight,sound)
def __str__(self):
return ("{}".format(self.__height))
def set_owner(self,owner):
self.__owner=owner
def get_owner(self):
return self.__owner
def get_type(self):
print("Dog")
def toString(self):
return ("{} is {} inches tall, {} lbs, says {}, and is owned by, {}".format(self.__name,self.__height,self.__weight,self.__sound,self.__owner))
objDog = cDog('Brewsky', 20, 75, 'Ruff', 'Jared')
print (objDog.toString())
JFYI Этот пример кода из Derek Banas [Учебник по Python] (https://youtu.be/N4mEzFDjqtA?t=2056). Для тех, кто заинтересован в изучении Python или получении полного контекста. – soliosg