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