© Maria Vonotna/Shutterstock.com

Im Allgemeinen zielt die Programmierung darauf ab, ein komplexes Problem so einfach wie möglich zu machen. Auf diese Weise können Schalterfälle sehr nützlich sein, um je nach Wert oder Variable bestimmten Code auszuführen. In Python gibt es keinen switch case, also müssen wir eine Alternative verwenden. Finden Sie heraus, wie Sie Switch Case noch heute in Python implementieren.

Was ist Switch Case?

Einfach ausgedrückt, ermöglichen Switch Case-Anweisungen Ihrem Programm, abhängig vom Wert einer Variablen verschiedene Funktionen auszuführen oder Aussage. Auf diese Weise wertet die switch case-Anweisung den Wert aus und vergleicht das Ergebnis mit einigen vordefinierten Regeln, die Sie aufgestellt haben. Es sollen jeweils bestimmte Aktionen ausgeführt werden, wenn der Wert mit dem Schalterfall übereinstimmt. Sie können auch einen Standardcode festlegen, der ausgeführt wird, wenn keiner der Schalterfälle übereinstimmt.

Python hat zwar keine Groß-/Kleinschreibung, viele andere Programmiersprachen jedoch schon. Lassen Sie uns daher veranschaulichen, wie ein switch case in C funktioniert:

switch (expression) { case value1: #code to execute if expression=value1 break; case value2: #auszuführender Code, wenn expression=value2 break; case value3: #auszuführender Code, wenn expression=value3 break; Standard: #Code der ausgeführt werden soll, wenn der Ausdruck mit keinem der oben genannten Fälle übereinstimmt break;

Relativ einfach, oder? Leider müssen wir etwas mehr Arbeit leisten, um dies in Python zu implementieren. Es gibt tatsächlich ein paar verschiedene Möglichkeiten, eine Funktion zu implementieren, die switch case ähnelt, also lassen Sie uns darauf eingehen.

Wie man Switch Case mit If-elif-else-Anweisungen implementiert

Eine Der Weg besteht darin, „if“-und „else“-Anweisungen zu verwenden, um eine bestimmte Funktion basierend auf der Eingabe auszuführen. Dies kann eigentlich auf zwei Arten beschrieben werden. Die erste Methode sieht so aus:

color=’Blue’if color==’Red’: print(‘color is Red’) elif color==’Green’: print(‘color is Green’) elif color==’Gelb’: print(‘Farbe ist Gelb’) elif Farbe==’Blau’: print(‘Farbe ist Blau’) else: print(‘Farbe ist unbestimmt’)

Die Eingabe oder „Farbe“ , wird anhand jeder dieser Bedingungen getestet, um festzustellen, welche davon erfüllt ist. In diesem Fall ist die Farbe eindeutig blau, sodass die erwartete Ausgabe „Farbe ist Blau“ ist. Und genau das sehen wir, wenn wir diesen Code ausprobieren.

Der Switch-Case-Algorithmus, implementiert mit If-elif-else-Anweisungen.

©”TNGD”.com

Implementierung von Switch-Case mithilfe von Dictionary-Mapping

Ein Wörterbuch ist einfach ein unstrukturierter Satz von Datenwerten und hat Schlüssel:Wert-Paare. Diese ähneln Überschriften in einer Tabellenkalkulation, wie z. B. „Name“, „Höhe“ und „Gewicht“. Jeder Schlüssel ist mit Datenwerten gepaart. Auf diese Weise können wir eine Art Switch-Case-Funktion verwenden, um bestimmte Werte aus einem Wörterbuch zurückzugeben. Dies ist unten dargestellt:

def switch_case(argument): switcher={“Red”:”RED”,”Blue”:”BLUE”,”Green”:”GREEN”} return switcher.get(argument,”Ungültiges Argument”) if__name__==”__main__”: argument=”Green”print(switch_case(argument))

In dieser Situation definieren wir die Funktion „switch_case“ als eine Funktion, die das Argument übernimmt.

Das Wörterbuch ist als „Switcher“ definiert und enthält Schlüssel:Wert-Paare. Die Schlüssel stellen großgeschriebene Farbnamen dar, die Werte stellen Farbnamen in Großbuchstaben dar.

Der Wert, der dem Argument key entspricht, wird aus dem Wörterbuch mithilfe der „get“-Funktion zurückgegeben. Andernfalls wird das Argument „ungültiges Argument“ zurückgegeben.

Da das Eingabeargument „Grün“ war, erhalten wir „GREEN“ als Ausgabe.

Das „if__name==„__main__“ „“ Zeile bedeutet einfach, dass der Code nur ausgeführt wird, wenn das Skript direkt ausgeführt wird.

Wörterbuchzuordnung wird verwendet, um die Groß-/Kleinschreibung zu implementieren.

©”TNGD”.com

So implementieren Sie die Groß-/Kleinschreibung mithilfe einer Klasse

Die letzte Möglichkeit, die Groß-/Kleinschreibung in Python zu implementieren, ist die Verwendung einer Klasse. Dies ist im Grunde eine Vorlage zum Erstellen von Objekten mit definierten Attributen und Methoden. Beispielsweise kann eine Klasse namens „ID“ zwei Attribute haben, „Height“ und „Weight“, und Methoden zum Abrufen dieser Werte, wie „get_height()“ und „get_weight()“. Beispielsweise können wir die Klasse als „switchcase“ definieren und den Prozess wie folgt implementieren:

class switch_case: def month(self, year): default=„Falscher Monat“ return getattr(self,’case_’+ str (Jahr), Lambda: Standard)() def case_1(self): gibt „2001“ zurück def case_2(self): gibt „2002“ zurück def case_3(self): gibt „2003“ zurück my_switch=switch_case() print(my_switch.month (1)) print(my_switch.month(3))

Zunächst definieren wir „switch_case“ als eine Funktion, die switch case implementiert.

Danach heißt die Methode „month()“ , die den „year“-Parameter übernimmt und die „month“-Methode mit verschiedenen Argumenten aufruft, „1“ und „3“. Wenn die Methode mit dem Argument „1“ aufgerufen wird, entspricht sie der Klassenmethode „case_1()“ und gibt das Ergebnis „2001“ aus. Wenn das Argument „3“ aufgerufen wird, ist die Ausgabe der Zeichenfolgenwert „2003“.

Sehen Sie sich den Screenshot an, um zu sehen, wie dieser Code in der Praxis funktioniert.

Case-Umschaltung wird mithilfe einer Klasse implementiert.

©”TNGD”. com

Nachbereitung

Obwohl die Groß-/Kleinschreibung nicht explizit in Python enthalten ist, gibt es mehrere Möglichkeiten, diesen Prozess nachzubilden. Im Großen und Ganzen gehören dazu die Verwendung von Dictionary-Mapping, die Implementierung einer Klassenfunktion oder die Verwendung von if-elif-else-Anweisungen. In allen Fällen wird abhängig vom angegebenen Argument ein bestimmter Code ausgeführt und abhängig von den switch-Anweisungen werden bestimmte Werte zurückgegeben.

How To Use Switch Case In Python FAQs (Frequently Asked Questions) 

Welche Programmiersprachen unterstützen switch case-Anweisungen?

Es gibt viele Programmiersprachen, die switch case-Anweisungen unterstützen, z. B. C, C++, Java, JavaScript, Ruby, Swift und Python. Allerdings hat Python keine explizite switch case-Funktion, aber die Funktion kann mit den verschiedenen hier beschriebenen Methoden implementiert werden.

Sind switch case-Anweisungen effizienter als if-else-Anweisungen?

Nicht immer. Die Effizienz einer switch case-Anweisung hängt von der Anzahl der Fälle sowie davon ab, wie der Code implementiert wird. Wenn es nur wenige mögliche Werte für einen bestimmten Ausdruck gibt, sind if-else-Anweisungen möglicherweise effizienter.

Was passiert, wenn der Wert keinem der Fälle zugeordnet werden kann?

Ein Standardcodeblock wird ausgeführt, wenn keiner der Fälle mit dem betreffenden Wert übereinstimmt.

Welche Ausdrücke können Sie in einer switch case-Anweisung verwenden?

Das hängt von der verwendeten Programmiersprache ab, aber es ist sicherlich möglich, Ausdrücke anderer Typen als Ganzzahlen oder Zeichenfolgenwerte zu verwenden, wie beispielsweise Zeichen oder Aufzählungen.

Können Sie mehrere Fälle für denselben Code verwenden?

In den meisten Fällen ja. Dies kann hilfreich sein, wenn Sie denselben Code für mehrere Werte eines Ausdrucks verwenden möchten.

By Maxwell Gaven

Ich habe 7 Jahre im IT-Bereich gearbeitet. Es macht Spaß, den stetigen Wandel im IT-Bereich zu beobachten. IT ist mein Job, Hobby und Leben.