首页 > 编程语言 > 详细

python 设计模式--单例模式

时间:2020-11-29 10:37:57      阅读:28      评论:0      收藏:0      [点我收藏+]
# 单例模式

# 写法一
# class Singleton:
#     def __new__(cls, *args, **kwargs):
#         if not hasattr(cls,"_instance"):
#             cls._instance = super(Singleton,cls).__new__(cls)
#         return cls._instance
#
# class MyClass(Singleton):
#     def __init__(self,a):
#         print("init ~~`")
#         self.a = a
#


# 写法二
class Singleton_02:
    __obj = None
    __initFlag__ = True

    a = 0

    def __new__(cls, *args, **kwargs):
        if cls.__obj == None:
            cls.__obj = object.__new__(cls)
        return cls.__obj

    def __init__(self, a):
        self.a = a
        if Singleton_02.__initFlag__:
            print(init~~~)
            Singleton_02.__initFlag__ = False


    def GetNumber(self):
        print(self.a)


a1 = Singleton_02(11)
a1.GetNumber()
b = Singleton_02(22)
b.GetNumber()

print(id(a1), id(b))

 

python 设计模式--单例模式

原文:https://www.cnblogs.com/Anec/p/14054991.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!