Uvod v izjavo o stikalu Python

Izjava o stikalu je zelo uporabna in zmogljiva programska funkcija. Je nadomestni stavek lestve if-else-if in zagotavlja boljšo zmogljivost in bolj obvladljivo kodo kot stavek lestev if-else-if. Večina programskih jezikov (na primer Java, C itd.) Ponuja stavčne stikale, vendar Python jezik nima nobenih stavčnih stavkov. Če pa želite preklopiti izjave velikih primerov, je v Pythonu zelo učinkovit način izvajanja funkcije izjave o primeru stikala. Ta vadnica vam bo pomagala pri izvajanju.

Diagram poteka

Izjava o stikalu v vsakem programskem jeziku ima enako funkcionalnost, vendar nekoliko drugačno skladnjo. Jezik Python ne ponuja nobenih vgrajenih stavčnih stikal. To funkcijo lahko izvajamo z enakim tokom in funkcionalnostjo, vendar z drugačno skladnjo in implementacijo z uporabo Python Dictionary.

Sintaksa izjave o stikalu

Samo pogleda na spodnji dve različni sintaksi stavek preklopa. Prva izjava prikazuje standardno skladnjo stavkov preklopa v drugih programskih jezikih, kot so C, Java itd. Druga izjava je implementacija Python-ove izjave Switch. Jasno lahko povežete, kako sta si oba v funkcionalnosti podobna, a različna v izvedbi.

1. Vklopite druge jezike (c, Java, ..)

Sintaksa:

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. Preklopite izvajanje v Python-u

Sintaksa:

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

Delovanje izjave o stikalu

  • Delovanje standardnega stavka stikala v katerem koli programskem jeziku je podobno. Sestavljen je iz več primerov, od katerih ima vsak kodo blok in izjavo o prelomu.
  • Vhodni argument primerjamo z več primeri drug za drugim. Če se argument ujema s katerim koli primerom, se izvede ustrezni blokovni stavek in nadzor izide iz stavka preklopa pri stavku break.
  • Če se nobeden od primerov ne ujema z vhodnim argumentom, se izvrši privzeti stavek bloka.
  • Pri izvajanju Pythona prevajalskih stavkov Python slovar štejemo kot stikalo in ključe slovarja kot primere. Tu imenujemo funkcijo get () slovarja z zahtevanimi argumenti, tj. Vnosnim ključem in privzeto vrednostjo.
  • Če se tipka za vnos ujema s katero koli tipko slovarja, se vrne ustrezna vrednost. Če se vhodna tipka ne ujema z nobenim od slovarskih tipk, se vrne privzeta vrednost.

Izvajanje Switch izjave v Pythonu

Kot vemo, sta stavka primera switch in if-else-if lestev izmenično drug drugemu. Oboje je mogoče uporabiti za dosego istega namena, vendar stavek primera stikala zagotavlja boljšo zmogljivost in bolj obvladljivo kodo kot stavek lestve if-else-if. Jezik Python nima nobenih stavčnih stavkov, vendar lahko s pomočjo Python Dictionary-ja uporabimo podobno funkcijo.

V naslednjem razdelku bomo videli izvajanje vsakega s primerom.

Primer # 1

Uporaba lestve if-else-if - nadomestni za preklop izpisa primerov. V tem primeru smo uporabili izjavo lestev if-else-if, da bi dobili dan v tednu. Za isti primer uporabe bomo videli tudi izvajanje stanja preklopa v Pythonu.

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

Izhod:

Primer # 2

Izvedba stavka preklopa z uporabo slovarja nizov. Python jezik nima nobenih stavčnih stavkov. Vendar lahko učinkovito uporabimo funkcijo izjave o preklopu v Pythonu s pomočjo Slovarja, kot je spodaj.

Pojasnilo: Slovar v Pythonu je neurejena zbirka parov ključev in vrednosti. V spodnjem delčku kode je stikalo spremenljivka slovarja, ki drži tipko: pari vrednosti, podobni primerom, ki so podobni stikalom.

S pomočjo metode get () lahko do elementa slovarja dostopimo tako, da argumente prenesemo kot ključ in izbirno privzeto vrednost. Privzeta vrednost pomaga pri izvajanju 'privzetega primera' stavka stališča.

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

Izhod:

V tem primeru podajmo 6 kot vhodni argument ali vhodni ključ, ki ga bomo iskali v ključih slovarja (preklopnika). Ko je najden ključ = 6, bo vrnil vrednost kot soboto. Zdaj podajte 8 kot vhodni ključ, ki ga boste iskali v tipkah slovarja (preklopnika). Ker ključa = 8 ni mogoče najti, bo vrnil privzeto vrednost kot Neveljaven dan.

Primer # 3

Izvedba stavka stikala z uporabo slovarskega preslikavanja funkcij. V zgornjem primeru so vrednosti slovarja vrstnih podatkovnih vrst, tj. Konstantne. Zanimivo je vedeti, da so vrednosti slovarja Python lahko poljubne podatkovne vrste.

Vrednosti slovarja Python so lahko tako konstante (cela števila, nizi) kot tudi funkcije. V tem primeru bomo izvedli stavek stikala, ki bo tudi podpiral funkcijski klic za vsak primer stikala z uporabo slovarja funkcij, kot je spodaj.

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

izhod:

Zaključek

Kot smo že videli zgoraj, lahko isti primer uporabe izvedemo tako z izjavo preklopa stikala kot z izjavo lestve if-else-if. Toda Switch's izjava zagotavlja bolj obvladljivo in berljivo kodo kot izjava if-if-ladder. Videli smo tudi, da jezik Python nima nobenega stavka preklopa, vendar ga lahko na bolj učinkovit način izvedemo s pomočjo Python Dictionary.

Priporočeni članki

To je vodnik za izjavo o stikalu Python. Tukaj razpravljamo o sintaksi, diagramu poteka in delu izjave python switch, skupaj s primeri in izvedbo. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Dedovanje v Pythonu
  2. Python preobremenitev
  3. Slovar v slovenščini
  4. Slovar v slovenščini