Šajā rakstā mēs centīsimies izprast Switch Case Python (aizstāšanās).
Ar ko Python aizstāj Switch Case?
Atšķirībā no citām programmēšanas valodām, ko esam izmantojuši iepriekš, Python nav slēdža vai reģistra priekšraksta. Lai apietu šo faktu, mēs izmantojam vārdnīcas kartēšanu .
1. metode: pārslēdziet Case iekārtu programmā Python, izmantojot vārdnīcas kartēšanu
Programmā Python vārdnīca ir nesakārtota datu vērtību kolekcija, ko var izmantot datu vērtību glabāšanai. Atšķirībā no citiem datu veidiem, kas var ietvert tikai vienu vērtību katram elementam, vārdnīcās var būt arī atslēgas: vērtību pāris.
Galvenā vērtība vārdnīca datu tips darbojas kā gadījumi slēdža priekšrakstā, kad mēs izmantojam vārdnīcu, lai aizstātu Switch priekšrakstu.
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))> |
tukšs 0
>
>Izvade
zero>
2. metode: pārslēdziet Case agregātu programmā Python, izmantojot if-else
The ja-citādi ir vēl viena metode, kā īstenot slēdža korpusa nomaiņu. To izmanto, lai noteiktu, vai konkrēts paziņojums vai paziņojumu bloks tiks izpildīts vai nē, t.i., vai paziņojumu bloks tiks izpildīts, ja konkrēts nosacījums ir patiess vai nē.
Python3
concat virknes java
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'>)> |
>
>Izvade
bike is Yamaha>
3. metode: pārslēdziet Case ieviešanu programmā Python, izmantojot klasi
Šajā metodē mēs izmantojam klasi, lai izveidotu slēdža metodi python slēdža iekšpusē klasē Python .
Python3
vesels skaitlis līdz virknei
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>))> |
>
>
kas ir awtIzvade
Jan Mar>
Pārslēgt reģistru programmā Python
Python versijā 3.10 un pēc tam Python to atbalstīs, izmantojot atbilst slēdža vietā:
Python3
linkedlist un masīvu saraksts
# 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)> |
>
>
Tas ir līdzīgs pārslēgšanas gadījumiem C++, Java utt.