Introduktion till Python Switch Statement

En switch-uttalande är en mycket användbar och kraftfull programmeringsfunktion. Det är ett alternativ till if-else-if ladder-uttalande och ger bättre prestanda och mer hanterbar kod än en if-else-if ladder statement. De flesta programmeringsspråk (som Java, C, etc.) erbjuder switch-uttalanden men Python-språket har inga switch-uttalanden. Men om du gillar att byta uttalande från ärenden, finns det ett mycket effektivt sätt att implementera en funktion för utbyte av ärenden i Python. Denna handledning hjälper dig att implementera den.

Flödesschema

Omkopplaren på varje programmeringsspråk har samma funktionalitet men något annorlunda syntax. Pythonspråk ger inga inbyggda switchuttalanden. Vi kan implementera den här funktionen med samma flöde och funktionalitet men med olika syntax och implementering med Python Dictionary.

Syntax för switch Statement

Titta bara på nedanstående två olika syntax för switch-uttalande. Det första uttalandet visar standardsyntaxen för switch-uttalanden på andra programmeringsspråk som C, Java, etc. Det andra uttalandet är Python-implementeringen av Switch-uttalandet. Du kan tydligt relatera till hur båda är liknande i funktionalitet men olika i implementering.

1. Växla på andra språk (c, Java, ..)

Syntax:

switch(N)
(
case 1: Statement if N = 1;
break;
case 2: Statement if N = 2;
break;
::
case n: Statement if N = n;
break;
default: Statement if N doesn't match any
)

2. Växla implementering i Python

Syntax:

switcher=
(
key_1: value_1/method_1(),
key_2: value_2/method_2(),
key_3: value_3/method_3(),
::
key_n: value_n/method_n(),
)
key = N
value = switcher.get(key, "default")

Working of Switch Statement

  • Funktionen av standardomkopplaren på vilket programmeringsspråk som helst liknar. Den består av flera fall som var och en har ett kodblock och ett brottmeddelande.
  • Inputargumentet jämförs med flera fall en efter en. Om argumentet matchade med något av fallen, utförs motsvarande blockmeddelande och kontrollen kommer ut ur switch-uttalandet vid brott-uttalandet.
  • Om inget av fallen överensstämmer med inmatningsargumentet, körs standardblocksatsningen.
  • Vid Python-implementering av switch-uttalanden betraktar vi Python-ordboken som switch och nycklar i ordboken som fall. Här kallar vi get () -funktionen i ordboken med nödvändiga argument, dvs ingångsnyckel och ett standardvärde.
  • Om inmatningsknappen matchar med någon av nycklarna i ordboken returneras motsvarande värde. Men om ingångsnyckeln inte stämmer med någon av ordboksknapparna kommer standardvärdet att returneras.

Implementering av Switch-uttalandet i Python

Som vi vet växlar ärenden och om-annars-om stegeuttalande är varandra mot varandra. Båda kan användas för att uppnå samma syfte, men ett uttalande om växlingsfall ger bättre prestanda och mer hanterbar kod än en om-annars-om stegeuttalande. Python-språket har inga switch-uttalanden, men vi kan implementera en liknande funktionalitet med Python Dictionary.

I följande avsnitt ser vi implementeringen av var och en med exempel.

Exempel 1

Användning av om-annars-om-stege - En alternativ för att växla ärende. I det här exemplet har vi använt om-annars-om stegeuttalandet för att få veckodagen. För samma användningsfall kommer vi också se implementeringen av switch state i Python.

Koda:

def get_week_day(argument):
if(argument == 0):
day="Sunday"
elif(argument == 1):
day="Monday"
elif(argument == 2):
day="Tuesday"
elif(argument == 3):
day="Wednesday"
elif(argument == 4):
day="Thursday"
elif(argument == 5):
day="Friday"
elif(argument == 6):
day="Saturday"
else:
day="Invalid day"
return day
# Driver program
if __name__ == "__main__":
print (get_week_day(6))
print (get_week_day(8))
print (get_week_day(0))

Produktion:

Exempel 2

Implementering av switch statement med hjälp av Dictionary of Strings. Pythonspråk har inga switch-uttalanden. Vi kan emellertid effektivt implementera en switch-uttalande funktion i Python med hjälp av Dictionary som nedan.

Förklaring: Ordbok i Python är en oordnad samling av nyckel- och värdepar. I kodavsnittet nedan är växlaren en ordboksvariabel som har nyckel: värdepar som liknar switchliknande fall.

Med hjälp av get () -metoden kan vi komma åt artikeln i ordboken genom att lämna argumenten som nyckel och valfritt standardvärde. Standardvärdet hjälper till att implementera "standardfallet" för ett switch-uttalande.

Koda:

def get_week_day(argument):
switcher = (
0: "Sunday",
1: "Monday",
2: "Tuesday",
3: "Wednesday",
4: "Thursday",
5: "Friday",
6: "Saturday"
)
return switcher.get(argument, "Invalid day")
# Driver program
if __name__ == "__main__":
print (get_week_day(6))
print (get_week_day(8))
print (get_week_day(0))

Produktion:

I det här exemplet, låt oss passera 6 som ett inmatningsargument eller inmatningsknapp som kommer att söka i nycklarna i ordboken (switcher). När nyckeln = 6 hittas, kommer den att returnera värdet som lördag. Passera nu 8 som ingångsnyckel som kommer att sökas i nyckelorden i ordboken (switcher). Eftersom nyckeln = 8 inte hittas, kommer den att returnera standardvärdet som ogiltig dag.

Exempel 3

Implementering av switch-uttalande med hjälp av Dictionary-mapping av funktioner. I exemplet ovan är värdena i ordlistan av strängdatatyp, dvs. konstant. Men det är intressant att veta att värdena i en Python-ordlista kan vara av vilken datatyp som helst.

Värdena i en Python-ordlista kan vara konstanter (heltal, strängar) såväl som funktioner. I det här exemplet kommer vi att implementera switch-uttalandet som också kommer att stödja funktionssamtalet för varje switchfall genom att använda ordboken över funktioner enligt nedan.

Koda:

def get_week_day(argument):
def zero():
return "Sunday"
def one():
return "Monday"
def two():
return "Tuesday"
def three():
return "Wednesday"
def four():
return "Thursday"
def five():
return "Friday"
def six():
return "Saturday"
switcher = (
0: zero(),
1: one(),
2: two(),
3: three(),
4: four(),
5: five(),
6: six()
)
return switcher.get(argument, "Invalid day")
# Driver program
if __name__ == "__main__":
print (get_week_day(6))
print (get_week_day(8))
print (get_week_day(0))

produktion:

Slutsats

Som vi har sett ovan, kan samma användningsfall implementeras av både utskiftningsfallsförklaringen och om annat-om-stegen. Men Switch's uttalande ger en mer hanterbar och läsbar kod än om annars-om stegeuttalande. Vi har också sett att Python-språket inte har några switch-uttalanden, men vi kan implementera samma på ett mer effektivt sätt med Python Dictionary.

Rekommenderade artiklar

Detta är en guide till Python Switch Statement. Här diskuterar vi syntax, flödesschema och bearbetning av python switch-uttalande tillsammans med exempel och implementering. Du kan också titta på följande artiklar för att lära dig mer-

  1. Arv i Python
  2. Python överbelastning
  3. Ordbok i Python
  4. Ordbok i Python

Kategori: