__init__:创建完对象后调用,对当前对象的实例的一些初始化,无返回值
如果重写了__new__而在__new__里面没有调用__init__那么__init__将不起作用。
测试1:
>>> class A(object):
def __init__(self):
print("in init")
def __new__(self):
print("in new")
>>> A()
in new
测试2:
class A(object):
def __new__(Class):
Object = super(A, Class).__new__(Class)
print "in New"
return Object
def __init__(self):
print "in init"
class B(A):
def __init__(self):
print "in B's init"
B()
>>>
in New
in B's init
本文详细解析了Python中__new__和__init__方法的区别与使用场景,通过实例演示了这两个构造方法如何被调用以及它们之间的关系。

被折叠的 条评论
为什么被折叠?



