Introduktion til Python Switch-erklæring

En switch-erklæring er en meget nyttig og kraftig programmeringsfunktion. Det er en alternativ til if-else-if ladder statement og giver bedre ydeevne og mere håndterbar kode end en if-else-if ladder statement. De fleste af programmeringssprogene (som Java, C osv.) Tilbyder switch-erklæringer, men Python-sprog har ikke nogen switch-sætninger. Hvis du dog gerne vil skifte sagspecifikationer, er der en meget effektiv måde at implementere en switch case statement-funktion i Python. Denne tutorial hjælper dig med at implementere den.

Flowchart

Switch-sætningen i hvert programmeringssprog har den samme funktionalitet, men lidt anderledes syntaks. Python-sprog indeholder ingen indbyggede switch-udsagn. Vi kan implementere denne funktion med den samme flow og funktionalitet, men med forskellige syntaks og implementering ved hjælp af Python Dictionary.

Syntaks for switch-erklæring

Ser bare på nedenstående to forskellige syntaks af switch statement. Den første sætning viser standardsyntaxen for switch-udsagn i andre programmeringssprog som C, Java osv. Den anden erklæring er Python-implementeringen af ​​switch-sætningen. Du kan tydeligt fortælle, hvordan begge er ens i funktionalitet, men forskellige i implementering.

1. Skift til andre sprog (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. Skiftimplementering 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")

Arbejde med switch-erklæring

  • Funktionen af ​​standardomskifter erklæringen på ethvert programmeringssprog er ens. Det består af flere sager, der hver har en kodeblok og en erklæring om brud.
  • Indgangsargumentet sammenlignes med flere tilfælde hinanden. Hvis argumentet stemmer overens med nogen af ​​sagerne, udføres den tilsvarende blokerklæring, og kontrollen kommer ud af switch-erklæringen ved break-erklæringen.
  • Hvis ingen af ​​sagen stemmer overens med inputargumentet, udføres standardblok-sætningen.
  • I Python-implementering af switch-udsagn betragter vi Python-ordbogen som switch og tasterne til ordbogen som tilfælde. Her kalder vi get () -funktionen i ordbogen med påkrævede argumenter, dvs. indtastningsnøgle og en standardværdi.
  • Hvis inputtasten stemmer overens med en af ​​tasterne i ordbogen, returneres den tilsvarende værdi. Hvis inputtasten imidlertid ikke stemmer overens med nogen af ​​ordbogstasterne, returneres standardværdien.

Implementering af switch-erklæring i Python

Som vi ved, skifter sagserklæring og hvis-ellers-hvis stedsopgørelse er vekslende i forhold til hinanden. Begge kan bruges til at opnå samme formål, men en switch case-erklæring giver bedre ydeevne og mere håndterbar kode end en if-else-if ladder-erklæring. Python-sprog har ingen switch-udsagn, men vi kan implementere en lignende funktionalitet ved hjælp af Python Dictionary.

I det følgende afsnit ser vi implementeringen af ​​hvert med eksempel.

Eksempel 1

Brug af hvis-andet-hvis-stige - En alternativ til at skifte sagsangivelse. I dette eksempel har vi brugt om-ellers-hvis stigeerklæringen til at få ugedagen. I samme brugssag vil vi også se implementeringen af ​​switch-tilstand 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))

Produktion:

Eksempel 2

Implementering af switch statement ved hjælp af Dictionary of Strings. Python-sprog har ingen switch-udsagn. Vi kan imidlertid effektivt implementere en switch statement-funktion i Python ved hjælp af ordbog som nedenfor.

Forklaring: Ordbog i Python er en uordnet samling af nøgle- og værdipar. I kodekoden nedenfor er switcheren en ordbogsvariabel, der har nøgle: værdipar svarende til switch-lignende sager.

Ved hjælp af get () -metoden kan vi få adgang til emnet i ordbogen ved at videregive argumenterne som nøglen og den valgfri standardværdi. Standardværdien hjælper med at implementere 'default case' for en switch-erklæ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))

Produktion:

I dette eksempel, lad os passere 6 som et input-argument eller input-nøgle, der søges i tasterne i ordbogen (switcher). Når nøglen = 6 findes, returnerer den værdien som lørdag. Nu passerer 8 som inputtast, der søges i tasterne i ordbogen (switcher). Da nøglen = 8 ikke findes, returnerer den standardværdien som ugyldig dag.

Eksempel 3

Implementering af switch statement ved hjælp af ordbogskortlægning af funktioner. I ovenstående eksempel er værdierne i ordbogen af ​​strengdatatype, dvs. konstant. Men det er interessant at vide, at værdierne i en Python-ordbog kan være af en hvilken som helst datatype.

Værdierne i en Python-ordbog kan være konstanter (heltal, strenge) såvel som funktioner. I dette eksempel implementerer vi switch statement, som også understøtter funktionsopkaldet for hvert switch case ved hjælp af ordbogen over funktioner 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))

produktion:

Konklusion

Som vi har set ovenfor, kan den samme anvendelsessag implementeres af både switch case-erklæringen og om-hvis-hvis-ladder-erklæringen. Men Switch's erklæring giver en mere overskuelig og læsbar kode end hvis-ellers-hvis stige-erklæring. Vi har også set, at Python-sprog ikke har nogen switch-udsagn, men vi kan implementere det samme på en mere effektiv måde ved hjælp af Python Dictionary.

Anbefalede artikler

Dette er en guide til Python Switch Statement. Her diskuterer vi syntaks, flowdiagram og bearbejdning af python switch statement sammen med eksempler og implementering. Du kan også se på de følgende artikler for at lære mere-

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

Kategori: