#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