Title: Singleton

### Singleton

Ein Singleton stellt sicher, dass von einer Klasse nur eine gemeinsame Instanz verwendet wird. In Python nutzt man dafür oft einfach ein Modul oder eine geteilte Instanz.

class Settings:
_instance = None

def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
cls._instance.theme = "light"
return cls._instance

a = Settings()
b = Settings()
a.theme = "dark"
print(b.theme)
print(a is b)

Ändere eine Einstellung an `b` und prüfe, ob `a` dieselbe Änderung sieht.

class Settings:
_instance = None

def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
cls._instance.theme = "light"
return cls._instance