手写一个单例

class A(object):
    # 定义一个类属性做判断
    __instance = None
    def __new__(cls, *args, **kwargs):
        # 如果__instance为空证明是第一次创建实例
        # 通过父类的__new__(cls)创建实例
        if cls.__instance is None:
            cls.__instance=object.__new__(cls)
            return cls.__instance
        else:
            return cls.__instance
a = A()
print(id(a))
b = A()
print(id(b))


140001235900904
140001235900904

 

posted @ 2019-01-06 20:03  我来搬砖了  阅读(190)  评论(0编辑  收藏  举报