__new__ - это метод класса, отвечающий за создание нового экземпляра класса. Он вызывается до __init__ и определяет, какой объект будет возвращен. Чаще всего используется для создания уникальных объектов (Singleton) или объектов неизменяемого типа (вроде tuple или str).
python
Сравнение __new__ и __init__:
__new__:
cls - первый аргумент).__init__:
self - первый аргумент).