Python单例模式

阅读 38

2022-04-13

单例模式:一个类只能创建一个实例

class Singleton(object):
    def __new__(cls, *args, **kwargs):
        # print(hasattr(cls,'_instance'))
        if not hasattr(cls, '_instance'):
            cls._instance = object.__new__(cls, *args, **kwargs)
        return cls._instance


class MyClass(Singleton):
    a = 1


my_cls对象的a属性修改之后,my_cls2的属性也随之修改

my_cls = MyClass()
my_cls.a = my_cls.a+1
print(my_cls.a)

my_cls2 = MyClass()
print(my_cls,my_cls2)
print(my_cls2.a)

精彩评论(0)

0 0 举报