Module (61%)
Section (9%)

Наследование - что и как?

Когда Python требует, чтобы какой-либо класс/объект был представлен в виде строки (помещение объекта в качестве аргумента в вызове функции print() соответствует этому условию), он пытается вызвать метод с именем __str__( ) из объекта и использовать возвращаемую строку.

Метод __str__() по умолчанию возвращает предыдущую строку - безобразно и не очень информативно. Вы можете изменить его, просто определив свой собственный метод с этим именем.

Мы только что сделали это - посмотрите на код в редакторе.

Этот новый метод __str__() создает строку, состоящую из названий звезд и галактик - ничего особенного, но вывод теперь выглядит немного лучше, не так ли?

Можете угадать вывод? Запустите код, чтобы проверить, были ли Вы правы.



Code

class Star:
def __init__(self, name, galaxy):
self.name = name
self.galaxy = galaxy

def __str__(self):
return self.name + ' in ' + self.galaxy


sun = Star("Sun", "Milky Way")
print(sun)
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×