Отладка — это, по сути, устранение ошибок 😁
Что такое отладка?
- Это поиск и устранение потенциальных или существующих проблем (ошибок) в нашем коде.
- Мы тщательно просматриваем наш код, и конечная цель — получить программу без ошибок.
Итак, в основном:
Анализ кода — —› Исправление кода — —› Иметь программу без ошибок
Инструменты, которые помогают нам в этом:
- Встроенные инструменты IDE:
- Это те инструменты в IDE, которые мы используем, например — pycharm, anaconda, идея InteliJ, VS-код.
2. С помощью Python-Tutor:
- Это отличный инструмент, созданный студентом Массачусетского технологического института, который перемещается по коду, показывая области, переменные и многие другие атрибуты, что является эффективным инструментом для отладки, а также для семантического просмотра кода (т. е. того, что происходит на бэкэнде). /действия, выполняемые python)
- Вы можете визуализировать свой код с помощью этого инструмента.
3. Использование операторов печати:
- Эффективное использование операторов печати также является способом отладки нашей программы.
- Вы можете распечатать вывод каждого модуля кода, который дает нам представление о том, что он возвращает.
- Здесь вы можете использовать метод деления пополам, чтобы эффективно найти конкретную ошибку.
4. И последнее, но не менее важное: используйте свой мозг🧠😎
Типы ОШИБОК:
1. Сообщения об ошибках
- попытка доступа за пределами списка — -> IndexError
- тест = [1,2,3], затем тест [4])
- попытка преобразовать неподходящий тип — -> TypeError ( int(test) )
- ссылка на несуществующую переменную — -> NameError ( a )
- смешивание типов данных без соответствующего принуждения — —> TypeError ( ‘3’/4 )
- забыл закрыть круглые скобки, кавычки и т. д. — -› SyntaxError
- a = len([1,2,3] print(a)
2. Логические ошибки
- Это сложнее исправить, чем сообщения об ошибках, потому что большую часть времени IDE сама обнаруживает сообщения об ошибках и даже устраняет их, однако логические ошибки трудно найти, и для их устранения требуется третий инструмент (BRAIN).
- Поэтому мы можем выполнять некоторые упражнения для мозга, например, делать перерыв и позволять подсознанию делать свою работу.
- Резиновые уточки: я нахожу это очень полезным и эффективным, т. е. объяснение вашего кода кому-то или чему-то (в основном в качестве общего примера используются резиновые уточки, поэтому этот термин придуман как Ruberducking 🦆)
📌 Вы также можете использовать некоторые цифровые альтернативы, такие как Gitduck (duckly) для резинового приседания.
Что можно и чего нельзя делать
Исключения и утверждения
- Исключения используются, когда возникает непредвиденная ошибка
- Например, используя обработчики
try:
иexcept:
:
try: num_first = int(input("Enter the first number")) num_second = int(input("Enter second number")) print ( num_first * num_second ) except: print ("Enter a valid input")
- Это напечатает блок исключений («Введите допустимый ввод»), когда любой другой тип данных используется в качестве ввода пользователем.
- Это было для всех ошибок, таких как TypeError, NameError и всех других ошибок, обсуждавшихся выше.
- Мы также можем указать блок исключений в соответствии с ошибкой, например:
try: num_first = int(input("Enter the first number")) num_second = int(input("Enter second number")) print ( num_first * num_second ) except TypeError: print ("Enter a valid input")
больше.
Вот список некоторых распространенных ошибок
- SyntaxError: Python не может разобрать программу
- NameError: локальное или глобальное имя не найдено
- AttributeError: ссылка на атрибут не работает
- TypeError: операнд не имеет правильного типа
- ValueError: тип операнда в порядке, но значение недопустимо
- IOError: система ввода-вывода сообщает о неисправности (например, файл не найден)
Утверждения
- Утверждения работают так же, как и исключения, но, в отличие от исключений, они немедленно останавливают выполнение кода при обнаружении ошибки.
- Это облегчает поиск источника ошибки.
- вызывать исключения, если пользователи вводят неверные данные
использовать утверждения для
- проверить типы аргументов или значений
- проверить, что инварианты в структурах данных соблюдены
- проверить ограничения на возвращаемые значения
- проверить нарушения ограничений процедуры (например, отсутствие дубликатов в списке)
📌 Обнаружить ошибку и объявить ее фичей — это легенда, но отладка — это то, чем занимаются настоящие легенды 😎
Первоначально опубликовано на https://codexperiences.hashnode.dev.