# 单例设计模式
class animal(object):
# 记录第一个被创建对象的引用
instance = None
# 重写基类__new__方法
def __new__(cls, *args, **kwargs):
# 如果instance为None说明创建的是第一个animal对象
if cls.instance is None:
# 调用基类__new__方法
cls.instance = super().__new__(cls)
return cls.instance
# 初始化方法
def __init__(self):
print("初始化方法执行")
# pass
a1 = animal()
print(a1)
a2 = animal()
print(a2)
a3 = animal()
print(a3)
# ——————运行结果——————
# 初始化方法执行
# <__main__.animal object at 0x7f3115116c50>
# 初始化方法执行
# <__main__.animal object at 0x7f3115116c50>
# 初始化方法执行
# <__main__.animal object at 0x7f3115116c50>
python中单例设计模式(只创建一次对象)
最新推荐文章于 2024-07-04 04:25:44 发布