Šī lekcija būs svarīga, ja jums ir darīšana ar lielām programmām.
Jūs iemācīsities rīkoties ar kļūdām, izmantojot izņēmumu blokus un izmantojot komentārus Python.
Izņēmumi
Mēs uzzināsim, kā rīkoties ar kļūdām Python programmās. Sāksim ar nelielas programmas rakstīšanu, lai no termināļa iegūtu lietotāja vecumu.
age = int(input('Age'))
print(age)
Palaidīsim to.
Tagad apskatiet šīs programmas izejas kodu. Izejas kods 0 nozīmē, ka mūsu programma tika veiksmīgi pārtraukta un nav kļūdu. Bet ko darīt, ja mēs palaižam šo programmu vēl vienu reizi un tā vietā, lai ievadītu skaitlisku vērtību, mēs ievadītu virkni?
Mēs saņemam vērtības kļūdu ar viņa ziņojumu “invalid literal for int() with base 10” Būtībā tas, ko šis ziņojums mums saka, ir tas, ka šajā virknē “qwe” nav derīga mājas numura, ko var pārvērst par veselu skaitli. Tagad apskatiet šīs programmas izejas kodu. Izejas kods 1 nozīmē, ka mūsu izejas kods avarēja, tāpēc 0 vienmēr nozīmē panākumus un jebkas, izņemot 0, nozīmē avāriju. Programmēšanā mēs atsaucamies uz šāda veida kļūdu kā izņēmumu.
Kā labam python programmētājam jums vajadzētu paredzēt šo situāciju. Jūs nevēlaties ļaut visai programmai avarēt tikai tāpēc, ka lietotājs ievadījis nederīgu vērtību. Tāpēc tā vietā, lai ļautu programmai avarēt, jums vajadzētu rīkoties ar situāciju un izdrukāt pareizu kļūdas ziņojumu. Tas ir tas, ko es jums parādīšu šajā lekcijā.
Python mums ir konstrukcija, ko sauc try except
izmanto kļūdu situāciju risināšanai.
try:
age = int(input('Age'))
print(age)
Šīs divas koda rindas ir daļa no mūsu try:
bloķēt. Mēs pievienosim except
aiz tā bloķēt ar paredzamās kļūdas veidu.
except ValueError:
print('Invalid Value')
Tagad vērtības kļūdas gadījumā tiks atgriezta virkne “Nederīga vērtība”.
Pārbaudīsim cita veida kļūdu, mainot iepriekšējo programmu.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ValueError:
print('Invalid Value')
Tagad, ja mēs palaižam šo programmu un ievadām vecumu “0”, skaitlisku vērtību. Tādējādi tehniski mums nevajadzētu saņemt nekādus izņēmumus.
Palaidīsim to.
Paskaties. Mūsu programma avarēja, un mēs izdarījām “Zero Division Error”, jo mēs nevaram dalīt skaitli ar 0. Vēlreiz apskatiet izejas kodu. Mēs nevarējām konstatēt šāda veida kļūdu vai šāda veida izņēmumu ar šo, izņemot bloku.
Šis, izņemot bloku, uztver tikai izņēmumus no tipa vērtības kļūdas, un mums būs nepieciešams jauns, izņemot bloku, lai apstrādātu nulles dalīšanas kļūdu. Attiecīgi modificēsim programmu.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ZeroDivisionError:
print('Age cannot be 0')
except ValueError:
print('Invalid Value')
Problēma atrisināta!
- Sintakse kļūda
- Rakstīšanas kļūda
- Nosaukuma kļūda
- Indeksa kļūda
- Valueerror
- Zerodivision kļūda
- Atribūta kļūda
- Runtime kļūda
- Atslēgas kļūda
- Atmiņas kļūda
- Apgalvojuma kļūda
- Ievilkuma kļūda
- Eoferror
- Peldošā rādītāja kļūda
- Overflowerror
- Loģikas kļūda
- Sistēmas kļūda
- Nav ieviesta kļūda
- Oserror
- Ioerror
- Atsauces kļūda
- Unikoda kļūda
- Aritmētiskā kļūda
- Unicodedecodeerror
- Unicodeencodeerror
- Unicodetranslateerror
- Runtime kļūdas
Kā programmētājam jums ir jāapzinās visi izņēmumi savā programmā un jārīkojas atbilstoši tiem.
komentāri
Tagad mēs runāsim par komentāriem python. Mēs izmantojam komentārus, lai pievienotu piezīmes vai komentārus savām programmām, lai uzlabotu lasāmību un nodotu kādu ziņojumu kādam, kas lasa mūsu kodu.
Programmā komentārus var rakstīt, izmantojot zīmi #. Visu, ko rakstāt pēc #, Python kompilators ignorēs un netiks izpildīts. Komentārus var pievienot gan atsevišķām rindām, gan pēc koda rindas.
Ar šiem komentāriem mēs varam izskaidrot kaut ko par mūsu kodu, mēs varam tos izmantot kā atgādinājumus, lai labotu vai noskaidrotu lietas, vai arī mēs varam tos izmantot, lai sazinātos ar citiem izstrādātājiem, kuri lasa mūsu kodu, vai lai izskaidrotu, kāpēc mēs esam uzrakstījuši šo kodu noteiktā veidā. Tie ir piemēroti komentāru izmantošanas gadījumi. mums var būt arī komentāri vairākās rindās. Katrai rindai jāsākas ar jaunu # zīmi. Tagad viena lieta, no kuras jums jāizvairās, izmantojot komentārus, ir izskaidrot koda darbību.
Šeit ir slikta komentāra piemērs:
Šis ir slikts komentārs, jo tas man saka acīmredzamo. Tas man saka, ka nākamajā rindā tiks drukāts "Saule riet Rietumos". Tagad šī komentāra problēma ir tāda, ka, izņemot to, ka komentārs ir daudzvārdīgs un atkārtojas, ja jūs šeit ierodaties un maināt Rietumus uz Austrumiem, šis komentārs kļūst novecojis. Tāpēc katru reizi, kad mēs atjaunināsim savu kodu, mums būs jāatgriežas un jāmaina attiecīgais komentārs.
Īsāk sakot, izmantojiet savus komentārus, lai atbildētu uz jautājumiem, kā un kāpēc, nevis kas ir.
Šeit ir laba komentāra piemērs:
Pirmajā komentārā es atgādinu sev, ka pirms programmas pabeigšanas man ir jāatjaunina šī ienākumu vērtība, bet otrā vērtība ir paziņojums citiem izstrādātājiem, kas lasa manu kodu, ka šajā programmā visas kļūdas netiek apstrādātas.
Visbeidzot, jums vajadzētu izvairīties no liekiem komentāriem, un jūsu komentāriem ir jāpievieno jūsu kodam zināma vērtība.
Satīt!
Izņēmumi un komentāri ir divi programmēšanas aspekti, kas bieži tiek ignorēti, un to nozīme parasti netiek novērtēta.
Programmas avārija ir gandrīz tikpat slikta, kā nekomentēt kodu, kur tas ir nepieciešams. Nākamajā lekcijā galvenā uzmanība tiks pievērsta klasēm un konstruktoriem.
Atstāj atbildi