Ovo predavanje će biti važno ako se bavite velikim programima.
Naučićete da rukujete greškama kroz blokove izuzetaka i korišćenje komentara u Pythonu.
izuzeci
Naučit ćemo kako postupati s greškama u Python programima. Počnimo s pisanjem malog programa da dobijemo starost korisnika iz terminala.
age = int(input('Age'))
print(age)
Hajde da ga pokrenemo.
Sada pogledajte izlazni kod ovog programa. Izlazni kod 0 znači da je naš program uspješno okončan i da nije bilo grešaka. Ali šta ako još jednom pokrenemo ovaj program i umjesto da unesemo brojčanu vrijednost, unesemo string?
Dobijamo grešku u vrijednosti s njegovom porukom “nevažeći literal za int() sa bazom 10” U osnovi ono što nam ova poruka govori je da ovaj niz “qwe” ne sadrži važeći kućni broj koji se može konvertirati u cijeli broj. Sada pogledajte izlazni kod ovog programa. Izlazni kod 1 znači da se naš izlazni kod srušio, tako da 0 uvijek znači uspjeh, a sve osim 0 znači pad. U programiranju ovu vrstu greške nazivamo izuzetkom.
Kao dobar python programer, trebali biste predvidjeti ovu situaciju. Ne želite dopustiti da se cijeli program sruši samo zato što je korisnik unio nevažeću vrijednost. Dakle, umjesto da dozvolite da se program sruši, trebali biste riješiti situaciju i odštampati odgovarajuću poruku o grešci. To je ono što ću vam pokazati na ovom predavanju.
U Pythonu imamo konstrukciju pod nazivom try except
koristi se za rješavanje grešaka.
try:
age = int(input('Age'))
print(age)
Ove dvije linije koda su dio našeg try:
blok. Mi ćemo dodati except
blok nakon njega sa vrstom greške koju predviđamo.
except ValueError:
print('Invalid Value')
Sada će vratiti string “Invalid Value” u slučaju greške u vrijednosti.
Provjerimo drugu vrstu greške promjenom prethodnog programa.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ValueError:
print('Invalid Value')
Sada, ako pokrenemo ovaj program i unesemo '0' u age, numeričku vrijednost. Stoga, tehnički, ne bismo trebali dobiti nikakve izuzetke.
Hajde da ga pokrenemo.
Pogledaj. Naš program se srušio i napravili smo “Grešku nulte podjele” jer ne možemo podijeliti broj sa 0. Još jednom pogledajte izlazni kod. Nismo mogli uhvatiti ovu vrstu greške ili ovu vrstu izuzetka s ovim osim bloka.
Ovaj blok osim hvata samo iznimke greške vrijednosti tipa i trebat će nam novi blok osim za rukovanje greškom nulte podjele. Modificirajmo program u skladu s tim.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ZeroDivisionError:
print('Age cannot be 0')
except ValueError:
print('Invalid Value')
Problem je riješen!
- Sintaksna greška
- Typeerror
- Nameerror
- Indexerror
- Valueerror
- Zerodivisionerror
- Attributeerror
- Runtime error
- Keyerror
- Memoyerror
- Assertionerror
- Indentationerror
- Eoferror
- Floatingpointerror
- Overflowerror
- Logička greška
- Sistemska greska
- Notimplementederror
- Oserror
- Ioerror
- Referenceerror
- Unicodeerror
- Aritmetička greška
- Unicodedecodeerror
- Unicodeencodeerror
- Unicodetranslateerror
- Runtime Greške
Kao programer, trebali biste biti svjesni svih izuzetaka u vašem programu i trebali biste ih postupati u skladu s tim.
Komentari
Sada ćemo razgovarati o komentarima u Python-u. Koristimo komentare da dodamo bilješke ili komentare našim programima kako bismo poboljšali čitljivost i prenijeli neku poruku nekome tko čita naš kod.
Komentari se mogu napisati u programu pomoću znaka #. Sve što napišete nakon # će Python kompajler ignorisati i neće biti izvršeno. Možete dodati komentare na pojedinačne linije kao i nakon reda koda.
Ovim komentarima možemo objasniti nešto o našem kodu, možemo ih koristiti kao podsjetnike da popravimo stvari ili razjasnimo stvari, ili ih možemo koristiti da komuniciramo stvari s drugim programerima koji čitaju naš kod ili da objasnimo zašto smo napisali ovaj kod u na određeni način. Ovo su dobri slučajevi upotrebe komentara. također možemo imati komentare u više redova. Svaki red treba da počinje novim znakom #. Jedna stvar koju trebate izbjegavati kada koristite komentare je da objasnite šta kod radi.
Evo primjera lošeg komentara:
Ovo je loš komentar jer mi govori očigledno. Govori mi da će sledeći red štampati „Sunce zalazi na zapadu“. Sada je problem s ovim komentarom što osim što je opširan i ponavlja se ako dođete ovdje i promijenite Zapad u Istok, ovaj komentar postaje zastario. Dakle, svaki put kada ažuriramo naš kod morat ćemo se vratiti i modificirati odgovarajući komentar.
Ukratko, koristite svoje komentare da odgovorite kako i zašto umjesto na ono što je.
Evo primjera dobrog komentara:
U prvom komentaru, podsjećam se da moram ažurirati ovu vrijednost prihoda prije finalizacije programa, a druga vrijednost govori drugim programerima koji čitaju moj kod da se sve greške ne obrađuju u ovom programu.
Konačno, trebali biste izbjegavati suvišne komentare i vaši komentari bi trebali dodati vrijednost vašem kodu.
Zamotati!
Izuzeci i komentari su dva aspekta programiranja koja se često zanemaruju i njihov značaj se obično podcjenjuje.
Rušenje vašeg programa je gotovo jednako loše kao i ne komentiranje vašeg koda tamo gdje je to potrebno. Sljedeće predavanje će se fokusirati na klase i konstruktore.
Ostavite odgovor