2 Semplici modi per implementare Python Switch Case Statement
Corso Python gratuito con 25 progetti in tempo reale Inizia ora!!
Nel nostro ultimo tutorial Python, abbiamo studiato l’elaborazione XML in Python 3. Oggi studieremo Come implementare l’istruzione caso Switch Python.
A differenza di altri linguaggi come Java Programming Language e C++, Python non ha un costrutto switch-case. Insieme a questo, vedremo come lavorare una scappatoia per l’istruzione caso switch Python.
Quindi, discutiamo diversi modi di implementazione per Python Switch Case Statement.
2 semplici modi per implementare Python Switch Case Statement
Cos’è Python Switch Case Statement?
Python non ha un semplice costrutto switch-case. Venendo da uno sfondo Java o C++, potresti trovarlo un po ‘ strano.
In C++ o Java, abbiamo qualcosa del genere:
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” } }
Ma Python non ha questo.
Quindi, per aggirare questo problema, usiamo il costrutto del dizionario integrato di Python per implementare i casi e abbiamo deciso cosa fare quando un caso è soddisfatto.
Possiamo anche specificare cosa fare quando nessuno è soddisfatto.
Soluzioni per Python Switch Case Statement
Una via d’uscita sarebbe implementare una ladder if-elif-else. Piuttosto, possiamo usare un dizionario per mappare i casi alla loro funzionalità.
Qui, definiamo una funzione week () per dirci quale giorno è un determinato giorno della settimana. Uno switcher è un dizionario che esegue questa mappatura.
>>> 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")
Ora, effettuiamo chiamate a week() con valori diversi.
>>> week(2)
Uscita
>>> week(0)
Uscita
>>> week(7)
Uscita
>>> week(4.5)
Uscita
Come si può vedere, per valori oltre a quelli che citiamo nella switcher, stampa “non Valido giorno della settimana”. Questo perché gli diciamo di farlo usando il metodo get () di un dizionario.
a. Usando le funzioni Python & Lambda
Possiamo anche usare funzioni e lambda nel dizionario.
>>> 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)
Uscita
>>> indirect(2)
Uscita
>>> indirect(1)
Uscita
>>> indirect(0.5)
Uscita
b. Con le Classi Python
l’Utilizzo di questo concetto con le classi ci consente di scegliere un metodo in fase di runtime.
>>> 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)
Uscita
>>> s.indirect(4)
Uscita
>>> s.number_1()
Uscita
Così, questo era tutto sui Python Interruttore di Istruzione Case. Spero che ti piaccia il nostro tutorial.
Python Interview Questions on Switch Case Statement
- Python ha un’istruzione switch case?
- Come si implementa un caso switch in Python?
- Che cos’è un caso nell’istruzione switch in Python?
- Spiega l’istruzione caso switch Python con l’esempio.
- Quanti casi puoi avere nell’istruzione switch in Python?
Conclusione
Quindi, concludiamo che Python non ha un costrutto switch-case integrato, possiamo invece usare un dizionario.