Форум сайта python.su
0
Добрый день! Пытаюсь потренироваться в наследовании на классическом примере животных. Но у меня видимо пробел в функциях класса, потому, что неправильно передаю переменные наверно.
Код такой
class Animal(): def __init__(self, numberoflegs, speech, taillength, height, speed): self.numberoflegs = numberoflegs self.speech = speech self.taillength = taillength self.height = height self.speed = speed def move(self): distance = int(input("Enter the distance in KM")) time = distance / speed print(f'This animal passed the distance for {time}') def speak(self): print(f'This animal says {speech}') def dangerous(self, bigteeth): if bigteeth and height > 60: print('This animal is dangerous, be carefull') else: print('This animal is not dangerous, stay calm') class Cat(Animal): def __init__(self, numberoflegs, speech, taillength, height, speed): super().__init__(numberoflegs, speech, taillength, height, speed) class Dog(Animal): def __init__(self, numberoflegs, speech, taillength, height, speed): super().__init__(numberoflegs, speech, taillength, height, speed) class Bird(Animal): def __init__(self, numberoflegs, speech, taillength, height, speed): super().__init__(numberoflegs, speech, taillength, height, speed)
Офлайн
72
fors-majorЭто где?
Но я же определил эти переменные, что я не так делаю
Офлайн
0
Доброго дня!
Подскажите, пожалуйста, как понимать такой код:
class One(): def __init__(self, ...): self._some = Two ... ... def method(self, second): return self._some(self.first, second) ... class Two()
Офлайн
0
А дальше еще и вот это:
class One(): ... def onemoremethod(self, p1, p2): return self.method(self[p1], self[p2]) ...
Офлайн
0
Все вместе:
class One(): def __init__(self, ...): self._some = Two ... ... def method(self, first, second): return self._some(self.first, second) ... def onemoremethod(self, p1, p2): return self.method(self[p1], self[p2]) ... class Two(): def __init__(self, a1, a2): ....
Офлайн
0
Правильно я понимаю, что это вызов класса по ссылке и создание объекта происходит уже в method?
self - вызов какого-то метода класса Two?
Офлайн
0
self[p1], self[p2]
Офлайн
0
ramiСпасибо за помощь!
Офлайн