@magocode: Wenn `Zustand` tatsächlich nur dazu da ist eine einzige Methode bereitzustellen, die eigentlich eine Funktion ist, dann ist der ganze Klassenkram unnütz, denn dann wäre die Umsetzung einfach nur:
Für weitere Zustände dann halt weitere Funktionen. Eine pro Zustand.
Funktionen sind in Python auch Werte, was ein Synonym für Objekte ist, und können als Argumente übergeben werden, als Attribute gesetzt werden, ..., halt alles was man mit Objekten/Werten so machen kann.
Eine Funktion ist auch gleichzeitig ein Singleton ohne das man da noch extra etwas tun muss.
Das ist eines der Probleme mit UML und Python, oder dynamischen Programmiersprachen und/oder Sprachen die nicht zwanghaft alles in Klassen stecken wollen: Da kommt oft überkomplizieter Unsinn für die einfachsten Sachen bei heraus. Der dann auch noch so Magie wie `__new__()` enthält, was man in realem Python, wie ja schon gesagt wurde, nur alle 10 Jahre mal für einen einzelnen Sonderfall tatsächlich benötigt.
Falls Du jetzt sagst weil Du nur einen Teil des UMLs gezeigt hast, geht das nicht mit einer Funktion (oder einem aufrufbaren Wert/Objekt) pro Zustand, dann müsstest Du das ganze relevante UML zeigen. Denn wir können nur was zu dem sagen was wir kennen, und man sollte nicht auf eine vage Beschreibung hin mehr Komplexität in eine Lösung stecken, als nötig ist. KISS-Prinzip.
Und immer dran denken das sprachunabhängige Diagramme in einer konkreten Sprache umzusetzen, nicht bedeutet das das irgendwie 1:1 funktionieren muss, also das man für Klassen die nur eine `__init__()` und eine einzige Methode haben, auch im Programm eine Klasse haben muss, denn meistens sind solche Klassen eigentlich Funktionen. Nur kennt UML das nicht. Genau so eine Klasse mit einem Haufen statischer Methoden: Ist in UML und beispielsweise Java leider nötig das zwanghaft in eine Klasse zu stopfen, in Python sind das einfach Funktionen.
Beziehungsweise wenn man in einer UML-Klasse statische Funktionen hat, die so etwas wie alternative Konstruktoren beziehungsweise Fabrikmethoden sind, dann werden die in Python zu Klassenmethoden. (Gibt es IIRC in UML auch nicht.)