Python单例模式

单例模式是一种常用的软件设计模式,它的作用是只能允许产生一个实例。

下面为实现单例模式的一种方法:

class Person(object):
    """ 这个类是一个单例类"""
    __instance = None
    def __new__(cls, *args, **kwargs):
        if not cls.__instance:
            cls.__instance = super().__new__(cls, *args, **kwargs)
        return cls.__instance

if __name__ == '__main__':
    Darcy = Person()
    print(id(Darcy))  # 输出结果为2485391916112
    Alan = Person()
    print(id(Alan))   # 输出结果为2485391916112

__new__方法:

1.通常用于控制生成一个新实例的过程。
2.返回一个实例化对象

单例模式的优点:

1.只有一个实例对象,节约系统的资源。
2.避免了共享资源的重复占有。

单例模式的缺点:

1.扩展困难。
2.不适合经常变化的对象。

你可能感兴趣的:(python基础)