Poziom: zaawansowany
Fiszka #102 · Python
Jak można zaimplementować "singleton" w Pythonie?
💡 Wskazówka do nauki: Zanim odsłonisz odpowiedź poniżej, spróbuj samodzielnie sformułować definicję lub napisać krótki przykład kodu w głowie (albo w naszym edytorze online).
Pokaż odpowiedź i przykład kodu
Opis i wyjaśnienie:
Można użyć modułu jako singletona, albo zastosować wzorzec projektowy z metaklasą lub dekoratorem.
Przykład w Pythonie:
class S:
_inst = None
def __new__(cls):
if not cls._inst:
cls._inst = super().__new__(cls)
return cls._inst
print(S() is S())