如果你想要一个单例,那里只有一个类的实例,那么你可以创建一个像PEP18那样得到的装饰器:
def singleton(cls):
instances = {}
def getinstance():
if cls not in instances:
instances[cls] = cls()
return instances[cls]
return getinstance
@singleton
class MyClass:
pass
Run Code Online (Sandbox Code Playgroud)
试试看:
>>> a = MyClass()
>>> b = MyClass()
>>> a == b
True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4496 次 |
| 最近记录: |