switch case in Python funktioniert nicht; brauche ein anderes Muster

Ich brauche eine Hilfe mit einem Code hier, ich wollte das Switch-Case-Muster in Python implementieren, so wie in einem Tutorial gesagt, ich kann ein Wörterbuch dafür verwenden, aber hier ist mein Problem:

  # type can be either create or update or .. 
  message = { 'create':msg(some_data),
              'update':msg(other_data)
              # can have more
            }

  return message(type)

Aber es funktioniert nicht für mich, weil some_data oder other_data None sein können (es löst einen Fehler aus, wenn es keiner ist) und die msg-Funktion muss einfach sein (ich möchte keine Bedingung darin setzen).

das Problem hierbei ist, dass die Funktion msg () im Gegensatz zum Schalterfallmuster, das normalerweise in einer anderen Programmiersprache den Code im @ nicht ausführt, jedes Mal zum Füllen des Diktats ausgeführt wircase es sei denn, es ist eine Übereinstimmung.

ist es eine andere Möglichkeit, dies zu tun, oder ich muss nur tun, wenn elif ...

Aktualisieren danke für alle Antworten, aber eigentlich ist es eher so

message = { 'create': "blabla %s" % msg(some_data),
            'update': "blabla %s" % msg(other_data)
            'delete': "blabla %s" % diff(other_data, some_data)
           }

so lambda funktioniert hier nicht und es wird nicht die gleiche Funktion aufgerufen, also ist es eher ein echter Schalter, den ich brauche, und vielleicht muss ich mir ein anderes Muster überlegen.

Antworten auf die Frage(18)

Ihre Antwort auf die Frage