生命周期:指的是一个对象, 从诞生到消亡的过程,当一个对象被创建时, 会在内存中分配相应的内存空间进行存储,当这个对象不再使用, 为了节约内存, 就会把这个对象释放;
监听对象生命周期
__new__
方法,当我们创建一个对象时, 用于给这个对象分配内存的方法,通过拦截这个方法, 可以修改对象的创建过程,比如:单例设计模式
__init__
方法,每个对象实例化的时候,都会自动执行这个方法,可以在这个方法里面,初始化一些实例属性
__del__
方法 ,当对象被释放的时候调用这个方法,可用于在这个方法中清理资源
class Person:
def __new__(cls, *args, **kwargs):
print("创建了一个对象,但是被拦截了")
def __init__(self):
print("初始化一个对象")
# def __del__(self):
# print("对象被释放了")
p = Person()
print(p)
#运行结果
创建了一个对象,但是被拦截了
None