Встречается на собеседованиях • сегодня

На каком этапе происходит инициализация класса в Python

Инициализация класса в Python происходит в несколько этапов:

  1. Создание класса (при интерпретации кода) - Python создаёт объект класса, заполняет его атрибуты и методы.
  2. Вызов new - создаёт экземпляр класса (обычно делегируется object.new).
  3. Вызов init - инициализирует созданный экземпляр (устанавливает начальные атрибуты).

Пример:

python
class MyClass:
    def __new__(cls, *args, **kwargs):
        print("__new__ called")
        return super().__new__(cls)
    
    def __init__(self):
        print("__init__ called")

obj = MyClass()  # Выведет: __new__ called, затем __init__ called

Важно: __new__ создаёт экземпляр, __init__ его инициализирует. Метаклассы могут влиять на процесс создания класса.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы