Что возвращает метод __init__?
Этот вопрос проверяет знание работы конструктора __init__ и его роли в инициализации объектов.
Короткий ответ
Метод __init__ ничего не возвращает (возвращает None). Его задача — инициализировать объект после его создания. Создание объекта происходит через метод __new__.
Длинный ответ
__init__ — это метод экземпляра, который вызывается сразу после создания объекта через __new__. Он инициализирует данные объекта. Несмотря на то, что он автоматически вызывается при создании экземпляра, возвращаемое значение __init__ игнорируется.
Пример:
class MyClass:
def __init__(self, name):
self.name = name
obj = MyClass("Alice") # Здесь `__init__` выполняет инициализацию
print(obj.name) # Alice
Особенности:
- Нельзя явно вернуть значение из __init__ (это вызовет ошибку).
- Все, что возвращается, происходит через __new__.
Когда использовать:
- Для настройки атрибутов объекта при его создании.