Было бы заманчиво, но неправильно назовите это конструктором класс. Это заманчиво, потому что выглядит как конструктор (по соглашению,
__init__
- первый метод, определенный для класса), действует как один (это первая часть кода, выполненная в вновь созданный экземпляр класса), и даже звучит как один ( "init" конечно, предлагает конструктор-иш природа). Неверно, потому что объект уже была построена время__init__
вызывается, и вы уже имеют действительную ссылку на новый экземпляр класса.
Цитата предполагает, что некорректно вызывать __init__
как конструктор, потому что объект уже сконструирован к моменту времени __init__
. Но! У меня всегда создавалось впечатление, что конструктор вызывается только после того, как объект сконструирован, потому что он по существу используется для инициализации элементов данных экземпляра, которые не имели бы смысла, если бы объект не существовал конструктором времени? (исходя из фона С++/Java)