Articles

2 Einfache Möglichkeiten, Python Switch Case Statement zu implementieren

Kostenloser Python-Kurs mit 25 Echtzeitprojekten Starten Sie jetzt!!

In unserem letzten Python-Tutorial haben wir die XML-Verarbeitung in Python 3 untersucht. Heute werden wir untersuchen, wie Python Switch Case-Anweisung zu implementieren.

Im Gegensatz zu anderen Sprachen wie Java und C++ hat Python kein Switch-Case-Konstrukt. Zusammen mit diesem werden wir sehen, wie eine Lücke für Python Switch Case-Anweisung zu arbeiten.

Also, lassen Sie uns verschiedene Arten der Implementierung für Python Switch Case-Anweisung diskutieren.

2 einfache Möglichkeiten, Python Switch Case Statement zu implementieren

2 einfache Möglichkeiten, Python Switch Case Statement zu implementieren

Was ist Python Switch Case Statement?

Python hat kein einfaches Switch-Case-Konstrukt. Wenn Sie einen Java- oder C ++ – Hintergrund haben, ist dies möglicherweise etwas seltsam.

In C ++ oder Java haben wir so etwas:

string week(int i){ switch(i){ case 0: return "Sunday” break; case 1: return "Monday” break; case 2: return "Tuesday” break; case 3: return "Wednesday” break; case 4: return "Thursday” break; case 5: return "Friday” break; case 6: return "Saturday” break; default: return "Invalid day of week” } }

Aber Python hat das nicht.

Um dies zu umgehen, verwenden wir Pythons integriertes Wörterbuchkonstrukt, um Fälle zu implementieren und zu entscheiden, was zu tun ist, wenn ein Fall erfüllt ist.

Wir können auch angeben, was zu tun ist, wenn keine erfüllt ist.

Lösungen für Python Switch Case Statement

Ein Ausweg wäre die Implementierung einer if-elif-else-Leiter. Vielmehr können wir ein Wörterbuch verwenden, um Fälle ihrer Funktionalität zuzuordnen.

Hier definieren wir eine Funktion week(), um uns mitzuteilen, welcher Tag ein bestimmter Wochentag ist. Ein Switcher ist ein Wörterbuch, das diese Zuordnung durchführt.

>>> def week(i): switcher={ 0:'Sunday', 1:'Monday', 2:'Tuesday', 3:'Wednesday', 4:'Thursday', 5:'Friday', 6:'Saturday' } return switcher.get(i,"Invalid day of week")

Jetzt rufen wir week() mit unterschiedlichen Werten auf.

>>> week(2)

Ausgabe

‚Dienstag‘
>>> week(0)

Ausgabe

‚Sonntag‘
>>> week(7)

Ausgabe

‚Ungültiger Wochentag‘
>>> week(4.5)

Ausgabe

‚Ungültiger Wochentag‘

Wie Sie sehen können, wird für andere Werte als die, die wir im Switcher erwähnen, „Ungültiger Wochentag“ ausgegeben. Dies liegt daran, dass wir es mit der get () -Methode eines Wörterbuchs dazu auffordern.

ein. Mit Python-Funktionen & Lambdas

Wir können auch Funktionen und Lambdas im Wörterbuch verwenden.

>>> def zero(): return 'zero'>>> def one(): return 'one'>>> def indirect(i): switcher={ 0:zero, 1:one, 2:lambda:'two' } func=switcher.get(i,lambda :'Invalid') return func()>>> indirect(4)

Ausgabe

‚Ungültig‘
>>> indirect(2)

Ausgabe

‚zwei‘
>>> indirect(1)

Ausgabe

‚eins‘
>>> indirect(0.5)

Ausgabe

‚Ungültig‘

b. Mit Python-Klassen

Wenn wir dieses Konzept mit Klassen verwenden, können wir zur Laufzeit eine Methode auswählen.

>>> class Switcher(object): def indirect(self,i): method_name='number_'+str(i) method=getattr(self,method_name,lambda :'Invalid') return method() def number_0(self): return 'zero' def number_1(self): return 'one' def number_2(self): return 'two'>>> s=Switcher()>>> s.indirect(2)

Ausgabe

‚zwei‘
>>> s.indirect(4)

Ausgabe

‚Ungültig‘
>>> s.number_1()

Ausgabe

‚eins‘

war alles über Python Switch Case Statement. Hoffe dir gefällt unser Tutorial.

Python-Interviewfragen zur Switch-Case-Anweisung

  1. Hat Python eine Switch-Case-Anweisung?
  2. Wie implementiert man einen Switch-Fall in Python?
  3. Was ist ein case in der Switch-Anweisung in Python?
  4. Erklären Sie die Python Switch Case-Anweisung anhand eines Beispiels.
  5. Wie viele Fälle können Sie in einer switch-Anweisung in Python haben?

Fazit

Daher schließen wir, dass Python kein eingebautes Switch-Case-Konstrukt hat, wir können stattdessen ein Wörterbuch verwenden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.