1、类有两个方法,一个是 new,一个是 init,有什么区别,哪个会先执行呢?
1
class test(object):
def __init__(self):
print("test -> __init__")
def __new__(cls):
print("test ->__new__")
return super().__new__(cls)
a = test()
运行结果如下:
test ->__new__test -> init
再来看另一个例子:
1
class test2(object):
def __init__(self):
print("test2 -> __init__")
def __new__(cls):
print("test2 ->__new__")
return object()
b