我明白__init__
和__new__
是如何工作的。 我想知道是否有什么__init__
可以做到__new__
不可以?Python:总是使用__new__而不是__init__?
即可以使用__init__
通过以下方式代替:
class MySubclass(object):
def __new__(cls, *args, **kwargs):
self = super(MySubclass, cls).__new__(cls, *args, **kwargs)
// Do __init__ stuff here
return self
我问,因为我想使Python OO这方面适合我的头好。
[为什么在一个类中定义了'\ _ \ _ new__'和'\ _ \ _ init__'](http:// stackoverflow。在这个主题上的老问题:[Python的使用\ _ \ _ new__和\ _ \ _ init__?](http:/ /问题/ 2017876/Why-defined-new-and-init-all-in-a-class) – 2012-08-03 05:51:18
/stackoverflow.com/questions/674304/pythons-use-of-new-and-init) – 2010-06-28 10:15:01