zoukankan      html  css  js  c++  java
  • python单列模式

    单例模式:就是永远用一个对象的实例

    初级版

    #初级版
    class Foo(object):
        instance=None
    
        def __init__(self):
            pass
    
        @classmethod         # 类方法  类方法只能访问类变量,不能访问实例变量
        def get_instance(self):
    
            if Foo.instance:
                return Foo.instance
    
            else:
    
                Foo.instance = Foo()
                return Foo.instance
    
    obj1=Foo.get_instance()
    obj2=Foo.get_instance()
    
    print(id(obj1),id(obj2))

    高级版

    #高级版
    
    class Foo(object):
    
        instance =None
    
        def __init__(self):
            pass
    
        def __new__(cls, *args, **kwargs):
    
            if Foo.instance:
    
                return Foo.instance
            else:
    
                Foo.instance = object.__new__(cls,*args,**kwargs)
    
                return Foo.instance
    
    
    
    
    obj1=Foo()
    obj2=Foo()
    
    print(id(obj1),id(obj2))
  • 相关阅读:
    Spark介绍与环境搭建
    Kafka基本操作
    Hadoop的HDFS概述
    hadoop环境搭建
    常用小工具
    mac机
    Eclipse使用
    微信公众号开发
    PM2
    JS 零散知识点
  • 原文地址:https://www.cnblogs.com/sunhao96/p/9041740.html
Copyright © 2011-2022 走看看