Rozumiem, co robi __new__
(i jak to jest inne niż __init__
), więc nie interesują mnie definicje, interesuje mnie kiedy i jak używać __new__
.Jakie są przypadki użycia dla __new__ w Pythonie?
Dokumentacja mówi:
Na ogół nie ma potrzeby, aby zastąpić
__new__
chyba jesteś instacji jest niezmienna typu jakstr
,int
,unicode
lubtuple
ale mogę pomyśl o innych przypadkach użycia __new__
lub o tym, jak z niego korzystać poprawnie (na przykład przy podklasowaniu niezmiennego typu lub dlaczego jest to potrzebne w tym przypadku).
Kiedy, dlaczego i jak należy korzystać z __new__
?
Jestem zainteresowany przypadkami użycia, a nie tym, co robi (wiem, co robi).
@McFarlane: Wiem o tym, interesują mnie sytuacje, w których trzeba używać __new__ (więcej niż to wyrażenie z "podklasy niezmiennego typu". ** To nie jest duplikat. ** – JohnDoDo
@ Zamknij głosujących To nie jest duplikat. Zadane pytanie pyta * dlaczego '__init__' jest zawsze wywoływane po' __new__' * (to nie jest) .To pytanie wymaga praktycznych przypadków użycia '__new__'. Odpowiedź na to pytanie nie jest odpowiedzią dla –
@lazyr: mam nadzieję, że nie masz nic przeciwko, Włączyłem Twój komentarz na pytanie: Dzięki! – JohnDoDo