Introduksjon til Python Switch Statement

En brytererklæring er en veldig nyttig og kraftig programmeringsfunksjon. Det er et alternativ til if-else-if ladder statement og gir bedre ytelse og mer håndterbar kode enn en if-else-if ladder statement. De fleste programmeringsspråk (som Java, C osv.) Tilbyr brytererklæringer, men Python-språket har ikke noen svitsjeruttalelser. Imidlertid, hvis du ønsker å bytte uttalelser, er det en veldig effektiv måte å implementere en funksjon for bytte av saken i Python. Denne opplæringen vil hjelpe deg med å implementere den.

Flytskjema

Brytererklæringen på hvert programmeringsspråk har samme funksjonalitet, men litt forskjellig syntaks. Pythonspråk gir ingen innebygde brytererklæringer. Vi kan implementere denne funksjonen med samme flyt og funksjonalitet, men med annen syntaks og implementering ved hjelp av Python Dictionary.

Syntax of Switch Statement

Ser bare på de to forskjellige syntaksene av switch statement. Den første setningen viser standard syntaks for switch-setninger på andre programmeringsspråk som C, Java, etc. Den andre setningen er Python-implementeringen av Switch-setningen. Du kan tydelig fortelle hvordan begge deler er like i funksjonalitet, men forskjellige i implementering.

1. Bytt i andre språk (c, Java, ..)

syntaks:

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. Bytt implementering i Python

syntaks:

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

  • Arbeidet med standard switch-setningen på ethvert programmeringsspråk er lik. Den består av flere tilfeller som hver har en kodeblokk og brudduttalelse.
  • Inngangsargumentet sammenlignes med flere tilfeller etter hverandre. Hvis argumentet stemmer overens med noen av tilfellene, blir den tilsvarende blokkerklæringen utført og kontrollen kommer ut av brytererklæringen ved brudduttalelsen.
  • Hvis ingen av tilfellene stemmer overens med inngangsargumentet, blir standardblokkuttalingen utført.
  • I Python-implementering av bryteruttalelser anser vi Python-ordboken som bryteren og tastene til ordboken som tilfeller. Her kaller vi get () -funksjonen til ordboken med påkrevde argumenter, dvs. inngangsnøkkel og en standardverdi.
  • Hvis inndatatasten samsvarer med noen av tastene i ordboken, returneres den tilsvarende verdien. Hvis inngangsnøkkelen ikke stemmer med noen av ordbokstastene, returneres standardverdien.

Implementering av Switch-uttalelse i Python

Som vi vet, er uttalelsen om bytte av sak og stedsuttalelse om annet-hvis vekselvis i forhold til hverandre. Begge kan brukes til å oppnå samme formål, men en uttalelse av switch-case gir bedre ytelse og mer håndterbar kode enn en stedserklæring om ellers-hvis Python-språket har ikke noen brytererklæringer, men vi kan implementere en lignende funksjonalitet ved hjelp av Python Dictionary.

I den følgende delen vil vi se implementeringen av hvert med eksempel.

Eksempel 1

Bruk av hvis-hvis-ellers-hvis stige - En alternativ til å bytte saksuttalelse. I dette eksemplet har vi brukt stigeuttalelsen if-else-if for å få ukens dag. For samme brukstilfelle vil vi også se implementeringen av byttestatus i Python.

Kode:

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

Produksjon:

Eksempel 2

Implementering av switch statement ved å bruke Dictionary of Strings. Pythonspråk har ikke noen brytererklæringer. Imidlertid kan vi effektivt implementere en switch statement-funksjon i Python ved å bruke Dictionary som nedenfor.

Forklaring: Ordbok i Python er en uordnet samling av nøkkel- og verdipar. I kodebiten nedenfor er switcheren en ordbokvariabel som holder tasten: verdipar som ligner på bryterlignende tilfeller.

Ved hjelp av get () -metoden kan vi få tilgang til elementet i ordboken ved å sende argumentene som nøkkel og standardverdi. Standardverdien hjelper til med å implementere 'standardsaken' for en brytererklæring.

Kode:

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

Produksjon:

I dette eksemplet, la oss passere 6 som et inngangsargument eller en inngangsnøkkel som vil bli søkt i nøklene til ordboken (switcher). Når nøkkelen = 6 er funnet, vil den returnere verdien som lørdag. Nå pass 8 som inngangsnøkkel som vil bli søkt i nøklene til ordboken (switcher). Siden nøkkelen = 8 ikke er funnet, vil den returnere standardverdien som ugyldig dag.

Eksempel 3

Implementering av switch statement ved hjelp av ordbokskartlegging av funksjoner. I eksemplet ovenfor er verdiene i ordboken av strengdatatype, dvs. konstant. Men det er interessant å vite at verdiene i en Python-ordbok kan være av hvilken som helst datatype.

Verdiene til en Python-ordbok kan være konstanter (heltall, strenger) samt funksjoner. I dette eksemplet vil vi implementere brytererklæringen som også vil støtte funksjonsanropet for hvert switch case ved å bruke ordboken over funksjoner som nedenfor.

Kode:

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

produksjon:

Konklusjon

Som vi har sett ovenfor, kan den samme brukssaken implementeres av både uttalelsen om bytte av saken og stigeuttalelsen om ellers-hvis. Men Switch's uttalelse gir en mer håndterbar og lesbar kode enn om stigeuttalelse om annet. Vi har også sett at Python-språket ikke har noen switch-setninger, men vi kan implementere det samme på en mer effektiv måte ved hjelp av Python Dictionary.

Anbefalte artikler

Dette er en guide til Python Switch Statement. Her diskuterer vi syntaks, flytskjema og arbeid med uttalelse av python switch sammen med eksempler og implementering. Du kan også se på følgende artikler for å lære mer-

  1. Arv i Python
  2. Python-overbelastning
  3. Ordbok i Python
  4. Ordbok i Python