python单例的使用详解

单例,让类创建的对象在系统中只有唯一的实例。

1、定义一个类属性,初始值为None,记录单个对象的引用。

2、重写__new__方法。

3、当类属性为is None时调用父类方法分配空间。

将结果记录在类属性中。

4、返回类属性记录的对象引用。

实例

class MusicPlayer(object):
 
    # 定义类属性记录单例对象引用
    instance = None
 
    def __new__(cls, *args, **kwargs):
 
        # 1. 判断类属性是否已经被赋值
        if cls.instance is None:
            cls.instance = super().__new__(cls)
 
        # 2. 返回类属性的单例引用
        return cls.instance

python如何实现初始化执行一次:1、定义类属性init_flag标记是否已经初始化。初始值为False。2、在__init__方法中判断init_flag。如果是False,则进行初始化。3、将init_flag设置为True。当再次自 ...