Python 面向对象 单列模式

1. 什么是单例模式: 一个类有且只能创建一个对象空间, 目的是为了节约内存资源
    
    例如: 回收站(数据库操作类), 只需要一个对象就能完成所有的功能, 没有必要创建多个对象浪费内存资源.
        
2. 实现单例模式
class Singleton(object):
    # 类属性 
    __instance = None
    __isinit = False # 是否初始化
    
    # 重写__new__方法
    def __new__(cls,*args,**kwargs):
        if cls.__instance is None:
            # 创建对象空间
            cls.__instance = super().__new__(cls)
        
        # 无论如何都返回对象空间
        return cls.__instance
    
    def __init__(self,name):
        if Singleton.__isinit is False: # 没有初始化
            # 就进行初始化
            self.name = name
            # 改变条件
            Singleton.__isinit = True

猜你喜欢

转载自blog.csdn.net/qq_39286483/article/details/103837884