Tässä artikkelissa yritämme ymmärtää Switch Case Pythonissa (korvaus).
Mikä korvaa Pythonin Switch Casen?
Toisin kuin muilla aiemmin käyttämillämme ohjelmointikielillä, Pythonissa ei ole kytkintä tai tapauslausetta. Tämän tosiasian kiertämiseksi käytämme sanakirjakartoitusta .
Tapa 1: Vaihda tapausta Pythonissa käyttämällä sanakirjakartoitusta
Pythonissa sanakirja on järjestämätön tietoarvojen kokoelma, jota voidaan käyttää tietoarvojen tallentamiseen. Toisin kuin muut tietotyypit, jotka voivat sisältää vain yhden arvon elementtiä kohden, sanakirjat voivat sisältää myös avain: arvo -parin.
Avainarvo sanakirja tietotyyppi toimii tapauksina switch-käskyssä, kun käytämme sanakirjaa korvaamaan Switch case -käskyn.
Python 3
lisäämällä merkkijonoa javassa
# 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))> |
>
>Lähtö
binäärihaku
zero>
Tapa 2: Vaihda tapaustyökalu Pythonissa käyttämällä if-else-toimintoa
The tai muuten on toinen tapa toteuttaa kytkinkotelon vaihto. Sitä käytetään määrittämään, suoritetaanko tietty lauseke tai lausekelohko vai ei, eli suoritetaanko lausekelohko, jos tietty ehto on tosi vai ei.
Python 3
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'>)> |
>
>Lähtö
bike is Yamaha>
Tapa 3: Vaihda tapaustyökalu Pythonissa luokan avulla
Tässä menetelmässä käytämme luokkaa luodaksemme kytkinmenetelmän python-kytkimen sisään luokka Pythonissa .
Python 3
abc numeroilla
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>))> |
>
>
palauttaa taulukoita javassaLähtö
Jan Mar>
Vaihda tapausta Pythonissa
Python 3.10:ssä ja sen jälkeen Python tukee tätä käyttämällä ottelu kytkimen tilalle:
Python 3
kaneli vs mate
# 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)> |
>
>
Se on samanlainen kuin kytkintapaukset C++:ssa, Javassa jne.