一种最为简洁的实现方案:
class Instance:
"""
单件模式的实现
"""
__instance = None
def __new__(cls, *args, **kwargs):
if not cls.__instance:
cls.__instance = super().__new__(cls, *args, **kwargs)
return cls.__instance
这里要特别的注意, super().__new__(cls, *args, **kwargs) 这里的 基类是 Object 所以,如果传入参数 object.__new__ 会出错。改成 super().__new__(cls) 就可以了。