Python. ООП. Переопределение метода класса в зависимости от условия
Не могу разобраться с переопределением в зависимости от условий. Нужно чтобы метод describe переопределялся в зависимости от bool значения, которое передавалось бы в аргументах. P.S. С возвратом подсказали, но функция не хочет принимать bool значение
class Bird:
def __init__(self, name, size):
self.name = name
self.size = size
self.full = False
def describe(self, full=False):
return f'Размер птицы {self.name} — {self.size}.'
class Parrot(Bird):
def __init__(self, name, size, color):
super().__init__(name, size)
self.color = color
def describe(self, full=True):
if full == True:
return f'Попугай -----'
else:
super().describe()
kesha = Parrot('Ара', 'средний', 'красный')
print(kesha.describe())
print(kesha.describe(True))
Источник: Stack Overflow на русском