Python单例

class CCLK(object):

    isinstance = None

    #创建对象会自动调用 __new__ 方法申请内存
    #重写 __new__方法
    @classmethod
    def __new__(cls,*args,**kwargs):
        if cls.isinstance is None:
        #申请内存,创建一个对象,并把对象的类型设置为cls
            cls.isinstance = object.__new__(cls)
        return cls.isinstance

    def __init__(self,name,age) -> None:
        self.name = name
        self.age = age


a = CCLK(11,100)
aa = CCLK(111,1000)
print(a is aa)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.什么是单例?一个类
    雨景江水阅读 548评论 0 0
  • 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只...
    Geek_C阅读 1,209评论 0 0
  • 参考:黑马程序员教程 - Python基础 面向对象 单例指一个对象只生成一个实例,也就是说对象只会在内存中分配一...
    Solomon_Xie阅读 2,870评论 0 1
  • 元类方法__call__ 可以这样使用: 如下: 调用__call__实现python 单例模式 元类继承: 测试:
    陈忠俊阅读 1,176评论 0 0
  • 单例模式,多次实例化只返回同一个类实例。
    虾想家阅读 1,586评论 0 0