V tomto článku sa pokúsime pochopiť Switch Case v Pythone (Replacement).
Aká je náhrada krytu Switch Case v Pythone?
Na rozdiel od každého iného programovacieho jazyka, ktorý sme predtým používali, Python nemá prepínač alebo príkaz case. Aby sme túto skutočnosť obišli, používame slovníkové mapovanie .
Metóda 1: Implementácia Switch Case v Pythone pomocou Dictionary Mapping
V Pythone je slovník neusporiadaná kolekcia dátových hodnôt, ktoré možno použiť na ukladanie dátových hodnôt. Na rozdiel od iných typov údajov, ktoré môžu obsahovať iba jednu hodnotu na prvok, môžu slovníky obsahovať aj pár kľúč: hodnota.
Kľúčová hodnota slovník dátový typ funguje ako prípady v príkaze switch, keď používame slovník na nahradenie prí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ýkon
zero>
Metóda 2: Implementácia Switch Case v Pythone pomocou if-else
The ak-inak je ďalšou metódou implementácie výmeny skrine spínača. Používa sa na určenie, či sa konkrétny príkaz alebo blok príkazov vykoná alebo nie, t. j. či sa vykoná blok príkazov, ak je konkrétna podmienka pravdivá alebo nie.
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ýkon
bike is Yamaha>
Metóda 3: Implementácia Switch Case v Pythone pomocou triedy
V tejto metóde používame triedu na vytvorenie metódy prepínača vo vnútri prepínača python triedy v Pythone .
Python3
predvolené parametre java
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ýkon
Jan Mar>
Switch Case v Pythone
V Pythone 3.10 a po ňom to Python podporí použitím zápas na mieste vypínača:
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é ako v prípade prepínačov v C++, Java atď.