Подробно о методах: продолжение
Если Вы назовете такой метод: __init__
, он не будет обычным методом - это будет конструктор.
Если у класса есть конструктор, он вызывается автоматически и неявно, когда создается экземпляр объекта класса.
Конструктор:
- обязан иметь параметр
self
(он устанавливается автоматически, как обычно); - может (но не обязательно) иметь больше параметров, чем просто
self
; в этом случае способ использования имени класса для создания объекта должен отражать определение__init__
; - можно использовать для настройки объекта, то есть для правильной инициализации его внутреннего состояния, создания переменных экземпляра, создания экземпляров любых других объектов, если они необходимы, и т.д.
Посмотрите на код в редакторе. В примере показан очень простой конструктор в работе.
Запустите его. Вывод кода:
object
output
Обратите внимание, что конструктор:
- не может вернуть значение, так как он предназначен для возвращения вновь созданного объекта и ничего больше;
- нельзя вызывать напрямую ни из объекта, ни из класса (Вы можете вызвать конструктор из любого из суперклассов объекта, но мы обсудим эту проблему позже).