__new__方法只有继承自object类的派生类才有此方法,且此方法必须返回实例化出来的实例
__init__是对实例化出来的实例做一些初始化操作
class myClass(object):
def __init__(self):
print 'call __init__'
def __new__(cls, *argv, **kw):
instance = super(myClass, cls).__new__(cls, *argv, **kw)
print 'call __new__'
return instance
if __name__ == '__main__':
a = myClass()
执行结果如下:
[root@drbd2 python]# python test.py
call __new__
call __init__
本文介绍了Python中类的构造过程,详细解释了__new__方法和__init__方法的区别及使用场景。通过具体示例展示了如何定义这两个方法以及它们在实例化过程中的调用顺序。
1512

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



