Avatar ·

Gibt es in Python einen switch-case-Operator?

📁 Python, Frage, Hilfe, Projekt

n

Ich bin auf das Problem gestoßen, dass ich eine Mehrfachbedingung implementieren muss, die ich in anderen Sprachen mit der Konstruktion switch-case realisieren würde.

n

In Python muss ich alles über if-elif-else-Bedingungen schreiben. Das erscheint mir ziemlich umständlich.

n

Gibt es eine bequemere Möglichkeit, solche Bedingungen zu schreiben?

n

Zum Beispiel habe ich Maßeinheiten und je nach ausgewählter Einheit muss ich den entsprechenden Multiplikator zurückgeben:

n
def get_multiplier(unit):n    if unit == 

                    
                
Avatar ·

UPD ENDE

Zunächst einmal: Es ist nichts besonders Schlimmes daran, die Konstruktion if-elif-else zu verwenden.

Wenn man möchte, kann man jedoch einige Alternativen finden.


Verwendung von Dictionaries

Eine ziemlich verbreitete Methode, um eine switch-case-Konstruktion in Python zu organisieren, ist die Verwendung eines Dictionaries. Am einfachsten lässt es sich an einem Beispiel zeigen:

unit_to_multiplier = {    'mm': 10**-3,    'cm': 10**-2,    'dm                                

Anmelden um eine Antwort zu hinterlassen

Blogs