2 jednoduché způsoby implementace příkazu Python Switch Case
zdarma Python kurz s 25 real-time projekty začít hned!!
v našem posledním tutoriálu Pythonu jsme studovali zpracování XML v Pythonu 3. Dnes budeme studovat, jak implementovat příkaz Python Switch Case.
Na rozdíl od jiných jazyků, jako je programovací jazyk Java A C++, Python nemá konstrukt přepínačů. Spolu s tím uvidíme, jak pracovat s mezerou pro příkaz Python switch case.
pojďme tedy diskutovat o různých způsobech implementace příkazu Python Switch Case.
2 Jednoduché Způsoby, jak Implementovat Python Spínač Případě Prohlášení
Co je Python Switch Case?
Python nemá jednoduchý konstrukt přepínačů. Pocházející z Java nebo C++ pozadí, můžete najít to být trochu divné.
V C++ nebo Javě máme něco takového:
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” } }
ale Python to nemá.
abychom to obešli, používáme k implementaci případů vestavěný slovník Python a rozhodneme se, co dělat, když je případ splněn.
můžeme také určit, co dělat, když není splněno žádné.
řešení pro příkaz Python Switch Case
jednou z cest by bylo implementovat žebřík if-elif-else. Spíše můžeme použít slovník k mapování případů podle jejich funkčnosti.
zde definujeme funkci week (), která nám řekne, který den je určitý den v týdnu. Přepínač je slovník, který provádí toto mapování.
>>> 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")
nyní voláme do týdne() s různými hodnotami.
>>> week(2)
Výstupní
>>> week(0)
Výstupní
>>> week(7)
Výstupní
>>> week(4.5)
Výstupní
Jak můžete vidět, pro jiné hodnoty než ty, které uvádíme v switcher, vypíše „Neplatné den týdne“. Je to proto, že mu říkáme, aby tak učinil pomocí metody get() slovníku.
a. Pomocí Python funkcí & Lambdas
můžeme také použít funkce a lambdy ve slovníku.
>>> 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)
Výstupní
>>> indirect(2)
Výstupní
>>> indirect(1)
Výstupní
>>> indirect(0.5)
Výstupní
b. S Python Tříd
Pomocí tohoto konceptu s tříd nám umožňuje zvolit metodu za běhu.
>>> 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)
Výstupní
>>> s.indirect(4)
Výstupní
>>> s.number_1()
Výstupní
bylo to jen o Pythonu, Switch Case. Doufám, že se vám náš tutoriál líbí.
Python Interview Questions on Switch Case Statement
- má Python příkaz switch case?
- jak implementujete případ přepínače v Pythonu?
- jaký je případ příkazu switch v Pythonu?
- vysvětlete příkaz Python switch case s příkladem.
- kolik případů můžete mít v příkazu switch v Pythonu?
Závěr
Proto jsme došli k závěru, že Python nemá vestavěný switch-case konstrukci, můžeme použít slovník místo.