Как отлаживать на Python как профессионал
Отлаживайте свой код с помощью веб-интерфейса отладчика
Резюме
Вы любите писать код, но ненавидите, когда он дает сбой? Тогда вам понравится этот инструмент, который делает отладку увлекательной.
Отладка - это процесс обнаружения и удаления существующих и потенциальных ошибок (ошибок) в программном коде, которые могут привести к его неожиданному поведению или сбою. Это раздражало программистов с 1940 года, когда Грейс Хоппер, работая над компьютером Mark II в Гарвардском университете, обнаружила моль, застрявшую в реле, препятствующем работе (отсюда и термин« отладка системы)». Еще до этого Томас Эдисон использовал этот термин для описания механических неисправностей в аппаратной инженерии.
В этом руководстве я покажу, какой инструмент я использую для отладки кода Python.
Отладчик Python
Прежде всего, я собираюсь создать сценарий, который будет использовать в качестве примера:
class Model(): def __init__(self, x1, x2): self.x1 = x1 self.x2 = x2 def calculation(self): self.sum = self.x1 + self.x2 return self.x1 * self.x2 def result(self): prod = self.calculation() res = self.sum + prod return res if __name__ == "__main__": m = Model(x1=3, x2=5) print(m.result())
В случае выполнения этот сценарий напечатает на вашем терминале «23». Что, если мы хотим увидеть, как входные данные используются и трансформируются в процессе? Давай отладим ...
Python имеет встроенный инструмент для отладки: pdb.. Нам просто нужно импортировать пакет и установить трассировку для запуска сеанса отладки там, где мы хотим.
Это автоматически приведет к посмертной отладке, если отлаживаемая программа завершится ненормально. Посмертная отладка включает проверку состояния приложения, в котором произошел сбой, с целью определения условий, которые приводят к сбою. После выхода из программы pdb перезапустит программу.
Полезно, правда? Пакет web_pdb даже лучше: он предоставляет веб-интерфейс для встроенного в Python отладчика pdb.
Это запустит веб-приложение на вашем localhost: 5555, где вы не только сможете отлаживать все вычисления, но также покажете глобальные и локальные переменные (справа).
Это отличный способ сделать такую скучную вещь, как отладка вашего кода (или, что еще хуже, чужого кода)!
Надеюсь, вам понравилось! Не стесняйтесь обращаться ко мне с вопросами и отзывами или просто для того, чтобы поделиться своими интересными проектами.