目录
一、单例介绍
某一个类只有一个实例
二、使用__new__实现
class MySQLHandler: def __new__(cls, *args, **kwargs): if not hasattr(cls, "_instance"): # 业务逻辑 cls._instance = super().__new__(cls) return cls._instance
三、使用类方法(调用创新对象,函数返回原定对象)
import settings class Mysql: __instance = None def __init__(self, host, port): self.host = host self.port = port @classmethod def singleton(cls): if not cls.__instance: # 创建类实例存入局部空间 cls.__instance = cls(settings.IP, settings.PORT) return cls.__instance # 使用init创建实例 obj1 = Mysql('1.1.1.2', 3306) obj2 =