Python: нужна помощь по методу классаPython

Программы на Python
Anonymous
Python: нужна помощь по методу класса

Сообщение Anonymous »

У меня есть классы «Утка» и «Собака», как показано:

Код: Выделить всё

class Duck:

def quack(self):
print("quack")

class Dog:

def bark(self):
print("I just bark")
Определил другой класс, как показано двумя способами, и инициировал:
case:1

Код: Выделить всё

class ItQuacks:

def __init__(self, animal):
**animal.quack()**
Если я инициировал, как показано:
ItQuacks(Duck) — ничего не печатается. Я ожидаю, что будет напечатано слово "шарлатан".
тогда как ItQuacks(Duck()) — это печать "шарлатана".
case:2

Код: Выделить всё

class ItQuacks:

def __init__(self, animal):
**animal.quack(self)**
Если я инициировал, как показано:
ItQuacks(Duck) — печатает «шарлатанство», как и ожидалось
Могу ли я знать, что «Duck()» по умолчанию имеет self. Может кто-нибудь объяснить эту концепцию.

Подробнее здесь: https://stackoverflow.com/questions/788 ... ass-method

Вернуться в «Python»