本文主要是介绍使用元类实现单例模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
class MyType(type):
def __init__(cls, *args, **kwargs):
cls.instance = None
super(MyType, cls).__init__(*args, **kwargs)
def __new__(mcs, *args, **kwargs):
return super(MyType, mcs).__new__(mcs, *args, **kwargs)
def __call__(cls, *args, **kwargs):
if not cls.instance:
cls.instance = cls.__new__(cls, *args, **kwargs)
cls.__init__(cls.instance, *args, **kwargs)
return cls.instance
class Foo(metaclass=MyType):
pass
这篇关于使用元类实现单例模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!