Šiame straipsnyje mes sužinosime apie teiginį „Python“ naudojant „assert“.
Kas yra tvirtinimas?
Teiginiai yra teiginiai, teigiantys ar teigiantys faktą užtikrintai jūsų programoje. Pavyzdžiui, rašydami padalijimo funkciją, esate įsitikinę, kad daliklis neturėtų būti lygus nuliui, jūs teigiate, kad daliklis nėra lygus nuliui.
Teiginiai yra tiesiog loginiai posakiai, tikrinantys, ar sąlygos teisingos, ar ne. Jei tai tiesa, programa nieko nedaro ir pereina prie kitos kodo eilutės. Tačiau, jei tai klaidinga, programa sustoja ir išmeta klaidą.
Tai taip pat yra derinimo įrankis, nes jis sustabdo programą, kai tik įvyksta klaida, ir parodo, kurioje programos klaidos vietoje įvyko.
Mes galime būti aiškūs, žiūrėdami į toliau pateiktą schemą:
„Python“ teigia teiginį
„Python“ turi įmontuotą assert
teiginį, kad programoje būtų galima naudoti teiginio sąlygą. assert
teiginys turi sąlygą ar išraišką, kuri turėtų būti visada teisinga. Jei sąlyga yra klaidinga, teiginys sustabdo programą ir pateikia AssertionError
.
„Assert“ naudojimo sintaksė Pyhtone:
tvirtinti
tvirtinti,
„Python“ programoje assert
teiginį galime naudoti dviem būdais, kaip minėta aukščiau.
assert
pareiškimas turi sąlygą ir jei sąlyga netenkinama, programa sustos ir duosAssertionError
.assert
sakinys taip pat gali turėti sąlygą ir neprivalomą klaidos pranešimą. Jei sąlyga netenkinama, teiginys sustabdo programą ir pateikiaAssertionError
klaidos pranešimą.
Paimkime pavyzdį, kur turime funkciją, kuri apskaičiuos vartotojo perduotų verčių vidurkį, o vertė neturėtų būti tuščias sąrašas. Mes naudosime assert
teiginį, kad patikrintume parametrą, o jei perduoto sąrašo ilgis yra lygus nuliui, programa sustoja.
1 pavyzdys: „Assert“ naudojimas be klaidos pranešimo
def avg(marks): assert len(marks) != 0 return sum(marks)/len(marks) mark1 = () print("Average of mark1:",avg(mark1))
Kai vykdysime pirmiau nurodytą programą, išvestis bus:
„AssertionError“
Mes gavome klaidą, kai assert
teiginiui perdavėme tuščią sąrašo ženklą1 , sąlyga tapo klaidinga, o teigimas sustabdo programą ir duoda AssertionError
.
Dabar perduokime kitą sąrašą, kuris atitiks assert
sąlygą ir pamatysime, kokia bus mūsų išvestis.
2 pavyzdys: „Assert“ naudojimas su klaidos pranešimu
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))
Kai vykdysime pirmiau nurodytą programą, išvestis bus:
Mark2 vidurkis: 78.0 AssertionError: sąrašas tuščias.
Mes perdavėme avg()
funkcijai ne tuščią sąrašo žymę2 ir tuščią sąrašo žymę1 ir gavome ženklo 2 išvestį, bet po to gavome klaidą AssertionError: List is empty
. assert
Sąlyga buvo patenkinta iki Mark2 sąrašą ir programą tęsiama. Tačiau „mark1“ neatitinka sąlygos ir suteikia AssertionError
.
Pagrindiniai dalykai, kuriuos reikia atsiminti
- Teiginiai yra sąlyga arba loginė išraiška, kuri visada turėtų būti teisinga kode.
assert
sakinys užima išraišką ir neprivalomą pranešimą.assert
sakinys naudojamas patikrinti tipų argumentų reikšmes ir funkcijos išvestį.assert
sakinys naudojamas kaip derinimo įrankis, nes jis sustabdo programą toje vietoje, kur įvyksta klaida.