__init__(self) 和 __new__(cls)方法
class Dog(object):
def __init__(self):
'''
初始化,在__new__方法之后开始运行
'''
self.name = 'lijiang'
print(self.name)
def __del__(self):
print(self.name)
def __new__(cls):
'''
创建一个对象
'''
return object.__new__(cls)
def __str__(cls):
'''
初始化方法之后执行
'''
return '打印对象的特征'
dog = Dog()
print(dog)
1)__new__是一个类方法,它返回的是一个实例
2)__init__是一个实例方法,它什么都不返回
3)只有在__new__方法返回一个cls对象时,__init__方法才会被调用,否则__init__方法不会被调用