Pythoni väide

Selles artiklis õpime väidet Pythonis väidete abil.

Mis on väide?

Väited on väited, mis väidavad või kinnitavad fakti teie programmis enesekindlalt. Näiteks jagamise funktsiooni kirjutamise ajal olete kindel, et jagaja ei tohiks olla null, väidate, et jagaja ei ole võrdne nulliga.

Väited on lihtsalt tõeväärtuse väljendid, mis kontrollivad, kas tingimused vastavad tõele või mitte. Kui see on tõsi, ei tee programm midagi ja liigub järgmisele koodireale. Kui see on vale, siis programm seiskub ja viskab vea.

See on ka silumisriist, kuna see peatab programmi kohe, kui ilmneb mõni viga, ja näitab, millises programmi veas on toimunud.

Saame selgeks, kui vaadata allolevat vooskeemi:

Pythoni väide

Pythonil on sisseehitatud assertkäsk väite tingimuse kasutamiseks programmis. assertavaldusel on tingimus või avaldis, mis peaks olema alati tõene. Kui tingimus on vale, peatab programm programmi ja annab AssertionError.

Süntaks Assert'i kasutamiseks Pyhtonis:

 kinnitada 
 kinnitada,

Pythonis saame assertavaldust kasutada kahel viisil, nagu eespool mainitud.

  1. assertavaldusel on tingimus ja kui tingimus ei ole täidetud, programm peatub ja annab AssertionError.
  2. assertavaldusel võib olla ka tingimus ja valikuline tõrketeade. Kui tingimus ei ole täidetud, peatab kinnitus programmi ja annab AssertionErrorveateate.

Võtame näite, kus meil on funktsioon, mis arvutab kasutaja poolt edastatud väärtuste keskmise ja väärtus ei tohiks olla tühi loend. assertParameetri kontrollimiseks kasutame lauset ja kui edastatud loendi pikkus on null, programm seiskub.

Näide 1: Assert'i kasutamine ilma veateateta

 def avg(marks): assert len(marks) != 0 return sum(marks)/len(marks) mark1 = () print("Average of mark1:",avg(mark1))

Ülaltoodud programmi käivitamisel on väljund:

 KinnitusViga

Saime vea, kui edastasime tühja loendi mark1 assertavaldusele, tingimus muutus valeks ja väide peatab programmi ja annab AssertionError.

Nüüd edastame veel ühe loendi, mis vastab asserttingimusele ja vaatame, milline on meie väljund.

Näide 2: Assert'i kasutamine veateatega

 def avg(marks): assert len(marks) != 0,"List is empty." return sum(marks)/len(marks) mark2 = (55,88,78,90,79) print("Average of mark2:",avg(mark2)) mark1 = () print("Average of mark1:",avg(mark1))

Ülaltoodud programmi käivitamisel on väljund:

 Mark2 keskmine: 78.0 AssertionError: loend on tühi.

Edastasime avg()funktsioonile mittetühja nimekirja märgi2 ja ka tühja nimekirja märgi1 ning saime väljundi mark2 loendi jaoks, kuid pärast seda saime vea AssertionError: List is empty. assertTingimus oli täidetud poolt mark2 nimekirja ja programmi jätkata. Kuid mark1 ei vasta tingimusele ja annab AssertionError.

Peamised punktid, mida meeles pidada

  • Väited on tingimus või tõeväärtuse avaldis, mis peaks koodis alati tõene olema.
  • assert avaldus võtab avaldise ja valikulise teate.
  • assert lauset kasutatakse funktsiooni väljundite tüüpide, argumentide väärtuste ja väljundite kontrollimiseks.
  • assert lauset kasutatakse silumisvahendina, kuna see peatab programmi vea tekkimise kohas.

Huvitavad Artiklid...