class Singelton(object):
__instance=None
def __init__(self):
pass
def __new__(cls,*kwd,**kwargs):
# if Singelton.__instance is None:
# cls.__instance=object.__new__(cls,*kwd,**kwargs)
return Singelton.__instance
class a(Singleton):
def __init__(self,x):
self.a=x
a1=a(5)
a2=a(6)
print a1.a
print a2.a
print id(a1),id(a2)
思路,利用__new__这个 类方法比__init__这个实例方法先运行的特点,直接返回类的实例,
本文通过Python代码示例,详细介绍了如何使用__new__方法实现单例模式,避免了多次实例化同一类的问题,有效提高了程序效率。
210

被折叠的 条评论
为什么被折叠?



