Python-väite

Tässä artikkelissa opit väittämisestä Pythonissa assertin avulla.

Mikä on väite?

Väitteet ovat lausuntoja, jotka väittävät tai ilmaisevat tosiasiat luotettavasti ohjelmassa. Esimerkiksi kun kirjoitat jakofunktiota, olet varma, että jakajan ei pitäisi olla nolla, vaan väität, että jakaja ei ole nolla.

Väitteet ovat yksinkertaisesti loogisia lausekkeita, jotka tarkistavat, palautuvatko olosuhteet totta vai eivät. Jos se on totta, ohjelma ei tee mitään ja siirtyy seuraavalle koodiriville. Jos se on kuitenkin väärä, ohjelma pysähtyy ja heittää virheen.

Se on myös virheenkorjaustyökalu, koska se pysäyttää ohjelman heti, kun virhe esiintyy, ja näyttää, missä ohjelmavirhe on tapahtunut.

Voimme olla selkeitä tarkastelemalla alla olevaa vuokaaviota:

Python väittää lausunnon

Pythonilla on sisäänrakennettu assertkäsky käyttää väiteehtoja ohjelmassa. assertlauseella on ehto tai lauseke, jonka oletetaan olevan aina totta. Jos ehto on väärä, väite keskeyttää ohjelman ja antaa AssertionError.

Syntaksi Assertin käyttämiseen Pyhtonissa:

 väittävät 
 väittää,

Pythonissa voimme käyttää assertlauseita kahdella tavalla, kuten edellä mainittiin.

  1. assertlauseella on ehto ja jos ehto ei täyty, ohjelma pysähtyy ja antaa AssertionError.
  2. assertlauseella voi olla myös ehto ja valinnainen virhesanoma. Jos ehto ei täyty, vahvistus pysäyttää ohjelman ja antaa AssertionErrorvirheilmoituksen mukana.

Otetaan esimerkki, jossa meillä on funktio, joka laskee käyttäjän välittämien arvojen keskiarvon, eikä arvo saa olla tyhjä luettelo. Käytämme assertlausuman tarkistaa parametrien ja jos pituus on kulunut luettelo on nolla, ohjelma pysähtyy.

Esimerkki 1: Assertin käyttö ilman virheilmoitusta

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

Kun suoritamme yllä olevan ohjelman, tulos on:

 VäiteVirhe

Saimme virheen, kun välitimme tyhjän luettelomerkin1 assertlausekkeeseen, ehdosta tuli väärä ja väite pysäyttää ohjelman ja antaa AssertionError.

Siirretään nyt toinen luettelo, joka täyttää assertehdon ja katsotaan, mikä on meidän tuotoksemme.

Esimerkki 2: Assertin käyttäminen virhesanoman kanssa

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

Kun suoritamme yllä olevan ohjelman, tulos on:

 Mark2: n keskiarvo: 78.0 AssertionError: Luettelo on tyhjä.

Ohitimme funktiolle ei-tyhjän luettelomerkin2 ja myös tyhjän luettelomerkin1 avg()ja saimme tuotoksen merkkilista2-listalle, mutta sen jälkeen saimme virheen AssertionError: List is empty. assertEhto täytetään Mark2 listan ja ohjelma jatkuu. Mark1 ei kuitenkaan täytä ehtoa ja antaa sen AssertionError.

Avainkohdat, jotka on muistettava

  • Väitteet ovat ehto tai looginen lauseke, jonka oletetaan aina olevan totta koodissa.
  • assert lauseessa on lauseke ja valinnainen viesti.
  • assert käskyä käytetään tarkistamaan tyypit, argumenttiarvot ja funktion tulos.
  • assert käskyä käytetään virheenkorjaustyökaluna, koska se keskeyttää ohjelman virheen kohdalla.

Mielenkiintoisia artikkeleita...