私は何をするか__new__(そして とどのように違うか__init__) を理解しているので、定義には興味がありません。いつ、どのように を使用するかに興味があります__new__。
ドキュメントには次のように記載されています。
一般に、 、、または
__new__のような不変型をサブクラス化しない限り、オーバーライドする必要はありませんstrintunicodetuple
しかし、使用する他のケース__new__やそれを正しく使用する方法については考えられません (たとえば、不変型をサブクラス化する場合や、この場合に必要な理由など)。
では、いつ、なぜ、どのように使用する必要があるの__new__でしょうか?
私はそれが何をするかではなく、ユースケースに興味があります(私はそれが何をするかを知っています)。