#coding=utf-8
'''
单例模式 Python3 实现
#使用装饰器(decorator),
#单例类自己根本不知道本身是单例的,由于他自己(本身的代码)并非单例的
'''
def singleton(cls, *args, **kw):
instances = {}
def _singleton():
if cls not in instances:
instances[cls] = cls(*args, **kw)
return instances[cls]
return _singleton
@singleton class MyClass(object): a = 1 def __init__(self, x=0): self.x = x one = MyClass() print one.a