在Python中实现Singleton模式

时间:2015-12-08 11:57:20

标签: python singleton

正如agf here出色地回答的那样,Python中可能的Singleton实现可能正在使用这个元类:

class Singleton(type):
    _instances = {}
    def __call__(cls, *args, **kwargs):
        if cls not in cls._instances:
            cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
        return cls._instances[cls]

但是,我不理解使用_instance。我知道它是用于存储由其类索引的实例的字典。但是,它被声明为类属性(_instances = {}),并且它被用作clsif cls not in cls._instances:)的属性。这两者怎么可能相同?

0 个答案:

没有答案