Vaihda kirjainkokoa Pythonissa (korvaus)
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
# 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ö
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
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> ))> |
Lä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
# 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.