I denne artikel vil vi forsøge at forstå Switch Case i Python (Erstatning).
Hvad er erstatningen af Switch Case i Python?
I modsætning til alle andre programmeringssprog, vi har brugt før, har Python ikke en switch eller case-sætning. For at komme uden om denne kendsgerning bruger vi ordbogsmapping.
jordnød vs jordnød
Metode 1: Skift Case-implementering i Python ved hjælp af Dictionary Mapping
I Python er en ordbog en uordnet samling af dataværdier, der kan bruges til at gemme dataværdier. I modsætning til andre datatyper, som kun kan indeholde en enkelt værdi pr. element, kan ordbøger også indeholde et nøgle: værdi-par.
Nøgleværdien af ordbog datatypen fungerer som sager i en switch-sætning, når vi bruger ordbogen til at erstatte Switch-sagssætningen.
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))> |
>
>Produktion
zero>
Metode 2: Skift Case-implementering i Python ved hjælp af if-else
Det hvis ellers er en anden metode til at implementere udskiftning af switch case. Det bruges til at bestemme, om en specifik sætning eller blok af sætninger vil blive udført eller ej, dvs. om en blok af sætninger vil blive udført, hvis en specifik betingelse er sand eller ej.
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'>)> |
>
>Produktion
bike is Yamaha>
Metode 3: Skift Case-implementering i Python ved hjælp af Class
I denne metode bruger vi en klasse til at oprette en switch-metode inde i python-switchen klasse i Python .
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>))> |
>
>Produktion
Jan Mar>
Switch Case i Python
I Python 3.10 og derefter vil Python understøtte dette ved at bruge match i stedet for kontakt:
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)> |
>
>
np.middel
Det svarer til switch cases i C++, Java osv.