Bryterhus i Python (erstatning)

I denne artikkelen vil vi prøve å forstå Switch Case i Python (erstatning).

Hva er erstatningen av Switch Case i Python?

I motsetning til alle andre programmeringsspråk vi har brukt før, har ikke Python en bryter eller kasussetning. For å komme rundt dette faktum bruker vi ordbokkartlegging .

Metode 1: Bytt Case-implementering i Python ved hjelp av Dictionary Mapping

I Python er en ordbok en uordnet samling av dataverdier som kan brukes til å lagre dataverdier. I motsetning til andre datatyper, som bare kan inkludere en enkelt verdi per element, kan ordbøker også inneholde et nøkkel: verdipar.
Nøkkelverdien til ordbok datatypen fungerer som tilfeller i en switch-setning når vi bruker ordboken til å erstatte Switch-tilfellesetningen.

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

Produksjon

zero 

Metode 2: Bytt Case-implement i Python ved å bruke if-else

De hvis-annet er en annen metode for å implementere bytte av bryterhus. Den brukes til å bestemme om en spesifikk setning eller blokk med setninger skal utføres eller ikke, dvs. om en setningsblokk vil bli utført hvis en spesifikk betingelse er sann eller ikke.

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

Produksjon

bike is Yamaha 

Metode 3: Bytt Case-implementering i Python ved hjelp av Class

I denne metoden bruker vi en klasse for å lage en brytermetode inne i python-svitsjen 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> ))>

Produksjon

Jan Mar 

Switch Case i Python

I Python 3.10 og etter det vil Python støtte dette ved å bruke kamp i stedet for bryteren:

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

Det ligner på brytertilfeller i C++, Java, etc.