一種最為簡潔的實(shí)現(xiàn)方案:
class Instance:
"""
單件模式的實(shí)現(xiàn)
"""
__instance = None
def __new__(cls, *args, **kwargs):
if not cls.__instance:
cls.__instance = super().__new__(cls, *args, **kwargs)
return cls.__instance
這里要特別的注意, super().__new__(cls, *args, **kwargs)
這里的 基類是 Object
所以柠偶,如果傳入?yún)?shù) object.__new__
會(huì)出錯(cuò)哄辣。改成 super().__new__(cls)
就可以了。