Съдържание[Крия][Покажи]
Тази лекция ще бъде важна, ако се занимавате с големи програми.
Ще се научите да обработвате грешките чрез блокове за изключения и използване на коментари в Python.
Изключения
Ще научим как да обработваме грешки в програмите на Python. Нека започнем, като напишем малка програма, за да получим възрастта на потребителя от терминала.
age = int(input('Age'))
print(age)
Нека го стартираме.
Сега вижте изходния код на тази програма. Изходен код 0 означава, че нашата програма е приключила успешно и няма грешки. Но какво ще стане, ако стартираме тази програма още веднъж и вместо числова стойност, въведем низ?
Получаваме грешка в стойността с неговото съобщение „невалиден литерал за int() с база 10“. По принцип това съобщение ни казва, че този низ „qwe“ не съдържа валиден домашен номер, който може да бъде преобразуван в цяло число. Сега вижте изходния код на тази програма. Код за изход 1 означава, че нашият код за изход се е сринал, така че 0 винаги означава успех, а всичко освен 0 означава срив. В програмирането ние наричаме този вид грешка изключение.
Като добър програмист на Python трябва да предвидите тази ситуация. Не искате да оставите цялата ви програма да се срине само защото потребителят е въвел невалидна стойност. Така че вместо да оставите програмата да се срине, трябва да се справите със ситуацията и да отпечатате правилно съобщение за грешка. Това е, което ще ви покажа в тази лекция.
В Python имаме конструкция, наречена try except
използвани за справяне със ситуации на грешка.
try:
age = int(input('Age'))
print(age)
Тези два реда код са част от нашия try:
блок. Ще добавим except
блок след него с типа грешка, който очакваме.
except ValueError:
print('Invalid Value')
Сега ще върне низа „Невалидна стойност“ в случай на грешка в стойността.
Нека проверим друг вид грешка, като променим предишната програма.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ValueError:
print('Invalid Value')
Сега, ако стартираме тази програма и въведем '0' във възрастта, числова стойност. Следователно технически не трябва да получаваме изключения.
Нека го стартираме.
Погледни. Нашата програма се срина и направихме „Грешка при деление на нула“, защото не можем да разделим число на 0. Още веднъж погледнете изходния код. Не можахме да хванем този вид грешка или този вид изключение с този блок освен.
Този блок за изключение улавя само изключения от грешка в стойността на типа и ще ни е необходим нов блок за изключение, за да се справим с грешка при деление на нула. Нека съответно да променим програмата.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ZeroDivisionError:
print('Age cannot be 0')
except ValueError:
print('Invalid Value')
Проблемът е решен!
- Синтактична грешка
- Типова грешка
- Грешка в името
- Грешка в индекса
- Грешка в стойността
- Грешка при нулево деление
- Грешка в атрибута
- Грешка по време на работа
- Ключова грешка
- Грешка в паметта
- Грешка в твърдението
- Грешка при отстъпа
- Eoferror
- Грешка с плаваща запетая
- Грешка при препълване
- Логическа грешка
- Системна грешка
- Неимплементирана грешка
- Oserror
- грешка
- Референтна грешка
- Unicode error
- Аритметична грешка
- Unicodedecode error
- Unicodeencode error
- Грешка в Unicodetranslate
- Грешки по време на изпълнение
Като програмист трябва да сте наясно с всички изключения във вашата програма и трябва да се справите с тях по съответния начин.
Коментари
Сега ще говорим за коментари в Python. Използваме коментари, за да добавяме бележки или коментари към нашите програми, за да подобрим четливостта и да предадем някакво съобщение на някой, който чете нашия код.
Коментари могат да се пишат в програмата с помощта на знака #. Всичко, което пишете след #, ще бъде игнорирано от компилатора на Python и няма да бъде изпълнено. Можете да добавяте коментари на отделни редове, както и след ред код.
С тези коментари можем да обясним нещо за нашия код, можем да ги използваме като напомняния, за да коригираме нещата или да изясним нещата, или можем да ги използваме, за да комуникираме неща с други разработчици, които четат нашия код, или да обясним защо сме написали този код в определен начин. Това са добри случаи за използване на коментари. можем също да имаме коментари на няколко реда. Всеки ред трябва да започва с нов знак #. Едно нещо, което трябва да избягвате, когато използвате коментари, е да обяснявате какво прави кодът.
Ето пример за лош коментар:
Това е лош коментар, защото ми казва очевидното. Това ми казва, че следващият ред ще отпечата „Слънцето залязва на запад“. Сега проблемът с този коментар е, че освен че е многословен и повтарящ се, ако дойдете тук и смените Запада на Изток, този коментар ще остарее. Така че всеки път, когато актуализираме нашия код, ще трябва да се връщаме и да променяме съответния коментар.
Накратко, използвайте коментарите си, за да отговорите как и защо вместо какво е.
Ето пример за добър коментар:
В първия коментар си напомням, че трябва да актуализирам тази стойност на дохода, преди да финализирам програмата, а втората стойност казва на други разработчици, които четат моя код, че всички грешки не се обработват в тази програма.
В заключение, трябва да избягвате излишни коментари и вашите коментари трябва да добавят известна стойност към вашия код.
Завършете!
Изключенията и коментарите са два аспекта на програмирането, които често се пренебрегват и тяхното значение обикновено се подценява.
Да сринеш програмата си е почти толкова лошо, колкото да не коментираш кода си, където е необходимо. Следващата лекция ще се фокусира върху класове и конструктори.
Оставете коментар