标签:属性 使用 没有 __init__ 共享 asa 单例模式 rgs div
class Cpp(object):
"""单例模式实现""" def __new__(cls, *args, **kwargs): if not hasattr(Cpp, "_instance"): cls._instance = super(Cpp,cls).__new__(cls, *args, **kwargs) return cls._instance
如果没有创建对象,就创建对象_instance,如果类里面有_instance实例,直接使用,不再次创建,实现了创建唯一一个实例,即单例模式。
一、 __new__(cls,*args, **kwargs)方法是创建一个实例的方法,而__init__(self,*args, **kwargs),是对__new__方法创建的实例进行初始化操作,增加实例的属性。
二、类的属性,是所有对象共享的,即增加一个类的属性时,此时所有的对象都会增加这个类的对象。
标签:属性 使用 没有 __init__ 共享 asa 单例模式 rgs div
原文地址:http://www.cnblogs.com/by2016/p/6859908.html