Sissejuhatus Python Switchi avaldusse

Lülituse avaldus on väga kasulik ja võimas programmeerimisfunktsioon. See on alternatiiv redelite väljastusele if-else-if ning pakub paremat jõudlust ja paremini hallatavat koodi kui redelite väljavõte if-else-if. Enamik programmeerimiskeeli (nagu Java, C jne) pakuvad lülituslauseid, kuid Pythoni keeles puuduvad lülituslaused. Kui soovite aga vahetada väiketähtede väiteid, on Pythonis väga tõhus viis juhtumiväljavõtete funktsiooni rakendamiseks. See õpetus aitab teil seda rakendada.

Vooskeem

Igas programmeerimiskeeles oleval lülitusväljavõttel on sama funktsionaalsus, kuid veidi erinev süntaks. Pythoni keel ei paku sisseehitatud lülituslauseid. Saame seda funktsiooni rakendada sama voo ja funktsionaalsusega, kuid erineva süntaksi ja teostusega, kasutades Pythoni sõnaraamatut.

Lülituse avalduse süntaks

Vaatab vaid kahte erinevat lülitusavalduse süntaksi. Esimene avaldus näitab lülituslausete standardsüntaksi teistes programmeerimiskeeltes nagu C, Java jne. Teine avaldus on Switchi avalduse Pythoni rakendamine. Saate selgelt seostada, kuidas mõlemad on funktsionaalsuses sarnased, kuid erineva rakendamisega.

1. Lülitage sisse muud keeled (c, Java, jne)

Süntaks:

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. Lülitage rakendus Python sisse

Süntaks:

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

Lülituse avalduse kasutamine

  • Standardse lüliti väljavõtte töötamine ükskõik millises programmeerimiskeeles on sarnane. See koosneb mitmest juhtumist, millel kõigil on koodiplokk ja purunemisavaldus.
  • Sisendargumenti võrreldakse mitme juhtumiga üksteise järel. Kui argument sobis mõne juhtumiga, siis täidetakse vastav plokiavaldus ja kontroll väljub lülitusavaldusest katkestuse avalduses.
  • Kui ükski juhtum ei vasta sisestusargumendile, siis käivitatakse vaikimisi käsk.
  • Lülituslausete Pythoni rakendamisel käsitleme Pythoni sõnastikku kui sõnastiku lülitit ja võtmeid. Siin kutsume sõnastiku funktsiooni get () koos vajalike argumentidega, st sisestusklahvi ja vaikeväärtusega.
  • Kui sisestusklahv sobib mõne sõnaraamatu klahviga, tagastatakse vastav väärtus. Kui sisestusklahv ei kattu ühegi sõnaraamatu klahviga, tagastatakse vaikeseade.

Switchi avalduse rakendamine Pythonis

Nagu me teame, on juhtumite vahetamise avaldus ja redelite avaldus if-else-if üksteise vahelduvad. Mõlemat saab kasutada sama eesmärgi saavutamiseks, kuid juhtumite vahetamise avaldus pakub paremat jõudlust ja paremini hallatavat koodi kui retsept if-else-if. Pythoni keeles puuduvad lülitusavaldused, kuid samasuguse funktsionaalsuse saame rakendada ka Pythoni sõnaraamatu abil.

Järgmises jaotises näeme nende rakendamist koos näitega.

Näide nr 1

Redeli if-else-if redelite kasutamine - alternatiiv juhtumiavalduse vahetamiseks. Selles näites oleme nädalapäeva saamiseks kasutanud redeliväidet if-else-if. Sama kasutusjuhtumi puhul näeme ka lüliti oleku rakendamist Pythonis.

Kood:

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

Väljund:

Näide 2

Lülitusväljavõtte rakendamine stringide sõnaraamatu abil. Pythoni keeles puuduvad lülituslaused. Kuid me saame Pythonis tõhusalt rakendada lülituslause funktsiooni, kasutades allpool toodud sõnaraamatut.

Selgitus: sõnaraamat Pythonis on võtme- ja väärtuspaaride järjestamata kogum. Allolevas koodilõikes on lüliti sõnastiku muutuja, mis hoiab võtit: väärtuspaare, mis on sarnased kommutaatoritaoliste juhtumitega.

Kasutades meetodit get (), pääseme sõnastiku üksusele juurde, edastades võtmed argumentidena ja valikulise vaikeväärtuse. Vaikeväärtus aitab rakendada üleminekuavalduse vaikimisi juhtumit.

Kood:

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

Väljund:

Selles näites andkem 6 sisendargumendina või sisestusvõtmena, mida otsitakse sõnastiku klahvidest (vahetaja). Kuna võti = 6 on leitud, tagastab see väärtuse laupäev. Nüüd sisestage sisestusklahvina 8, mida otsitakse sõnastiku klahvidest (lüliti). Kuna võtit = 8 ei leitud, tagastab see vaikimisi väärtuse Kehtetu päev.

Näide 3

Lüliti väljavõtte rakendamine funktsioonide kaardistamise sõnaraamatu abil. Ülaltoodud näites on sõnastiku väärtused stringi andmetüüpi st konstantsed. Kuid on huvitav teada, et Pythoni sõnaraamatu väärtused võivad olla mis tahes andmetüübiga.

Pythoni sõnaraamatu väärtused võivad olla nii konstandid (täisarvud, stringid) kui ka funktsioonid. Selles näites rakendame lüliti avalduse, mis toetab ka funktsiooni kutset iga lüliti puhul, kasutades allpool toodud funktsioonide sõnastikku.

Kood:

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

väljund:

Järeldus

Nagu eespool nägime, saab sama kasutusjuhtumi rakendada nii lülitusjuhtumi avalduse kui ka redelite-kui-siis-kui korralduse korral. Kuid Switchi avaldus pakub paremini hallatavat ja loetavat koodi kui redelite väljavõte if-else-if. Samuti oleme näinud, et Pythoni keeles puuduvad lülituslaused, kuid Python Dictionary abil saame seda tõhusamal viisil rakendada.

Soovitatavad artiklid

See on Python Switchi avalduse juhend. Siin käsitleme süntaksi, vooskeemi ja python switchi avalduse toimimist koos näidete ja teostusega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Pärimine Pythonis
  2. Pythoni ülekoormamine
  3. Sõnastik Pythonis
  4. Sõnastik Pythonis

Kategooria: