logo

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

převést znak na řetězec








# 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'>)>

linuxový správce úloh

>

>

Výstup

dereferenční ukazatel
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


vb a vb síť



# 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.