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 .
rohit shetty skuespiller
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)> |
>
>
pete davidson
Det ligner på brytertilfeller i C++, Java, etc.