Чем init() отличается от new()
Основное различие между этими двумя методами состоит в том, что __new__
обрабатывает создание объекта, а __init__
обрабатывает его инициализацию.
__new__
вызывается автоматически при вызове имени класса (при создании экземпляра), тогда как __init__
вызывается каждый раз, когда экземпляр класса возвращается __new__
, передавая возвращаемый экземпляр в __init__
в качестве параметра self
, поэтому даже если вы сохранили экземпляр где-нибудь глобально/статически и возвращали его каждый раз из __new__
, для него все-равно будет каждый раз вызываться __init__
.
Из вышесказанного вытекает что сначала вызывается __new__
, а потом __init__
Oct. 10, 2023, Источник
Примеры ответов:
- PYTHON JUNIOR интервью со SpaciX
- Собеседование на позицию Backend Dev…
- Собеседование на позицию Backend Dev…
- Собеседование Junior Python Developer
- Собеседование Trainee Python Develop…
- Собеседование Trainee Python Develop…
- Собеседование Trainee Python Develop…
- Собеседование Trainee Python Develop…
- Собеседование Python 2023. Разбор ба…
- Моковое собеседование на позицию Dja…