Ein Codebeispiel für die SingletonMeta-Metaklasse, die das Singleton-Muster in der Klasse implementiert, und die MySingleton-Klasse, die dies anwendet.
ex_meta_singleton.pyt
class SingletonMeta(type):
def __init__(cls, name, bases, disc, **kwargs):
cls.__instance = name
def __call__(cls, *args, **kwargs):
if cls.__instance is None:
cls.__instance = super().__call__(*args, **kwargs)
return cls.__instance
class MySingleton(metaclass = SingletonMeta):
pass
Python zum Selbststudium Zitiert aus Kapitel 11 Objektorientierte Syntax
Recommended Posts