Switch Case v Pythonu (náhrada)
V tomto článku se pokusíme pochopit Switch Case v Pythonu (Replacement).
Jaká je náhrada pouzdra Switch Case v Pythonu?
Na rozdíl od všech ostatních programovacích jazyků, které jsme dříve používali, Python nemá přepínač ani příkaz case. Abychom tuto skutečnost obešli, používáme slovníkové mapování .
Metoda 1: Implementace Switch Case v Pythonu pomocí Dictionary Mapping
V Pythonu je slovník neuspořádanou sbírkou datových hodnot, které lze použít k ukládání datových hodnot. Na rozdíl od jiných datových typů, které mohou obsahovat pouze jednu hodnotu na prvek, mohou slovníky obsahovat také pár klíč: hodnota.
Klíčová hodnota slovník datový typ funguje jako případy v příkazu switch, když používáme slovník k nahrazení příkazu Switch case.
Python3
# Function to convert number into string> # Switcher is dictionary data type here> def> numbers_to_strings(argument):> > switcher> => {> > 0> :> 'zero'> ,> > 1> :> 'one'> ,> > 2> :> 'two'> ,> > }> > # get() method of dictionary data type returns> > # value of passed argument if it is present> > # in dictionary otherwise second argument will> > # be assigned as default value of passed argument> > return> switcher.get(argument,> 'nothing'> )> # Driver program> if> __name__> => => '__main__'> :> > argument> => 0> > print> (numbers_to_strings(argument))> |
Výstup
zero
Metoda 2: Implementace Switch Case v Pythonu pomocí if-else
The pokud-jinak je další způsob implementace výměny skříně spínače. Používá se k určení, zda konkrétní příkaz nebo blok příkazů bude nebo nebude proveden, tj. zda bude proveden blok příkazů, pokud je určitá podmínka pravdivá nebo ne.
Python3
bike> => 'Yamaha'> if> bike> => => 'Hero'> :> > print> (> 'bike is Hero'> )> elif> bike> => => 'Suzuki'> :> > print> (> 'bike is Suzuki'> )> elif> bike> => => 'Yamaha'> :> > print> (> 'bike is Yamaha'> )> else> :> > print> (> 'Please choose correct answer'> )> |
Výstup
bike is Yamaha
Metoda 3: Implementace případu přepínače v Pythonu pomocí třídy
V této metodě používáme třídu k vytvoření metody přepínače uvnitř přepínače python třídy v Pythonu .
Python3
class> Python_Switch:> > def> day(> self> , month):> > default> => 'Incorrect day'> > return> getattr> (> self> ,> 'case_'> +> str> (month),> lambda> : default)()> > def> case_1(> self> ):> > return> 'Jan'> > def> case_2(> self> ):> > return> 'Feb'> > def> case_3(> self> ):> > return> 'Mar'> my_switch> => Python_Switch()> print> (my_switch.day(> 1> ))> print> (my_switch.day(> 3> ))> |
Výstup
Jan Mar
Switch Case v Pythonu
V Pythonu 3.10 a po něm to Python bude podporovat pomocí zápas místo vypínače:
Python3
# This code runs only in python 3.10 or above versions> def> number_to_string(argument):> > match argument:> > case> 0> :> > return> 'zero'> > case> 1> :> > return> 'one'> > case> 2> :> > return> 'two'> > case default:> > return> 'something'> > head> => number_to_string(> 2> )> print> (head)> |
Je to podobné jako u případů přepínačů v C++, Javě atd.