logo

Switch Case i Python (ersättning)

I den här artikeln kommer vi att försöka förstå Switch Case i Python (Ersättning).

Vad ersätter Switch Case i Python?

Till skillnad från alla andra programmeringsspråk vi har använt tidigare, har Python ingen switch eller case-sats. För att komma runt detta faktum använder vi ordboksmappning .



Metod 1: Byt Case-implement i Python med hjälp av Dictionary Mapping

I Python är en ordbok en oordnad samling datavärden som kan användas för att lagra datavärden. Till skillnad från andra datatyper, som bara kan innehålla ett enda värde per element, kan ordböcker också innehålla ett nyckel: värdepar.
Nyckelvärdet för lexikon datatyp fungerar som fall i en switch-sats när vi använder ordboken för att ersätta Switch-fallsatsen.

Python3






array av struktur i c-språk



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

Metod 2: Byt Case-implement i Python med if-else

De om annat är en annan metod för att implementera byte av växelhus. Det används för att bestämma om ett specifikt uttalande eller ett block av satser kommer att utföras eller inte, dvs om ett satsblock kommer att exekveras om ett specifikt villkor är sant eller inte.

Python3


java sträng understräng



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>

Metod 3: Byt Case-implement i Python med Class

I den här metoden använder vi en klass för att skapa en switchmetod inuti python-växeln klass i Python .

Python3




vad min skärmstorlek
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 och efter det kommer Python att stödja detta genom att använda match i stället för switch:

Python3


java math.min



# 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 liknar det för switch-fall i C++, Java, etc.