Module (67%)
Section (30%)

Как Python находит свойства и методы

Теперь мы рассмотрим, как Python работает с унаследованными методами.

Посмотрите на пример в редакторе. Давайте проанализируем это:

  • есть класс с именем Super, который определяет свой собственный конструктор, используемый для назначения свойства объекта, с именем name;
  • класс также определяет метод __str__(), который позволяет классу представлять свою идентичность в виде открытого текста;
  • затем класс используется в качестве основы для создания подкласса с именем Sub. Класс Sub определяет свой собственный конструктор, который вызывает его из суперкласса. Обратите внимание, как мы это сделали: Super.__init__(self, name);
  • мы явно назвали суперкласс и указали на метод для вызова __init__(), предоставив все необходимые аргументы;
  • мы создали экземпляр одного объекта класса Sub и распечатали его.

Код выводит:

My name is Andy.

output

Примечание. Поскольку в классе Sub нет метода __str__(), печатная строка должна создаваться в классе Super. Это означает, что метод __str__() был унаследован классом Sub.



Code

class Super:
def __init__(self, name):
self.name = name

def __str__(self):
return "My name is " + self.name + "."


class Sub(Super):
def __init__(self, name):
Super.__init__(self, name)


obj = Sub("Andy")

print(obj)
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×