python:什么是单例?一个简单的单例

单例:即一个类只能生成唯一的一个实例,python中的类如果没有被实例化,则cls._instance为None

如下:

class Singleton(object):

    def __new__(cls,*args,**kw):        

        if not hasattr(cls,"_instance"):            

            orgi=super(Singleton,cls)            

            cls._instance=orgi.__new__(cls,*args,**kw)        

        return cls._instance

 

class MyClass(Singleton):    

    pass

 

one=MyClass()

two=MyClass()

print id(one)

print id(two)

print one==two

print one is two

 

posted @ 2018-03-28 23:24  reyinever  阅读(274)  评论(0编辑  收藏  举报