我明白__new__
是什么(以及它与__init__
有什么不同),所以我对定义不感兴趣,我对什么时候以及如何使用__new__
感兴趣。Python的__new__有什么用例?
文档说:
一般情况下,你不应该需要重写
__new__
除非你继承一个不变的类型像str
,int
,unicode
或tuple
但我做不到不要想到其他情况下使用__new__
或如何正确使用它(例如,当子类化不可变类型或为什么它需要在这种情况下)。
那么,何时,为什么以及如何使用__new__
?
我对用例感兴趣,而不是它所做的(我知道它是干什么的)。
@MFFarlane:我知道,我对你需要使用__new__时的情况感兴趣(比“不可变类型的子类化”更多。**这不是重复。** – JohnDoDo
@close选民这个问题不是重复的,所引用的问题是*为什么'__init__'总是在'__new__' *之后被调用(不是),这个问题要求'__new__'的实际用例。这个问题 –
@lazyr:希望你不介意,我把你的意见纳入问题。谢谢! – JohnDoDo