- class A:
- # attribute known to function Singleton
- _instance = None
- def foo(self):
- return id(self)
- def Singleton(klass):
- if not klass._instance:
- klass._instance = klass()
- return klass._instance
- # subclass A
- class B(A):
- pass
- b = Singleton(A)
- c = Singleton(B)
- d = Singleton(A)
- print id(b),b.foo()
- print id(c),c.foo()
- print id(d),c.foo()
- #该片段来自于http://www.codesnippet.cn/detail/290920136219.html
来源: http://www.codesnippet.cn/detail/290920136219.html