Неправильное использование метода __init__

Так же, как в C ++, в Python есть метод __ init__. Он автоматически вызывается, когда Python выделяет память для нового объекта класса. Целью данного метода является то, чтобы установить значения экземпляров класса.
Возвращать явно значение из __ init__ – не очень хорошая практика. Это означает, что вы пытаетесь отклониться от цели этого метода и нарушить логику. Если действительно нужно вернуть какое-либо значение, то лучше выбрать другой метод или определить новый метод класса.

Давайте посмотрим на несколько примеров, которые демонстрируют, что имеется ввиду.

Пример 1: Неправильное использование метода __ init__.

В этом примере код пытается вернуть переменную из метода __ init __ , что, вполне естественно, приводит к ошибке “TypeError: __init__() should return None”.
Метод init-неправильно
 

Пример 2: Добавление нового свойства, чтобы исправить __init __ошибку.

Для того, чтобы решить вышеупомянутую проблему, просто переместим желаемую логику в отдельный метод класса . Этот метод можно вызвать после того, после того, как создан экземпляр класса
Метод init-правильно

Поделитесь с друзьями:

Оставьте комментарий