Python

基于 __new__ 方式

详情点击这里  -  __new__ 以及单例模式

基于装饰器方式

def singleton(cls, *args, **kw):
    instances = {}

    def getinstance():
        if cls not in instances:
            instances[cls] = cls(*args, **kw)
        return instances[cls]
    return getinstance


@singleton
class MyClass:
    pass

基于导入方式

详情点击这里 - Django_基于模块的单例模式

原文地址:https://www.cnblogs.com/shijieli/p/10919498.html