Курс Python → Отладка в Python

Команда %debug в Python представляет собой мощный инструмент для отладки кода. Она позволяет активировать интерактивный отладчик в двух режимах: перед выполнением кода (точка останова) и после возникновения исключения (post-mortem). Первый режим позволяет установить точку останова в коде и проверить состояние переменных в этой точке. Для этого нужно указать аргументы команды %debug, например %debug имя_функции или %debug номер_строки.

Второй режим, post-mortem, активируется без аргументов. Если в процессе выполнения кода произошло исключение, команда %debug позволяет в интерактивном режиме изучить путь ошибки, состояние стека вызовов и переменных в момент возникновения исключения. Это очень удобно для анализа и исправления ошибок в коде.

Пример использования команды %debug:


def divide(x, y):
    result = x / y
    return result

try:
    divide(5, 0)
except ZeroDivisionError:
    %debug

В данном примере функция divide вызывается с аргументами 5 и 0, что приводит к возникновению исключения ZeroDivisionError. После этого срабатывает блок except, и команда %debug запускает интерактивный отладчик, позволяя изучить причину ошибки и состояние переменных в момент исключения.

Вывод команды %debug может содержать информацию о месте возникновения ошибки, локальных переменных, стеке вызовов и других полезных данных. Это помогает быстро найти и исправить ошибку в коде, улучшая процесс разработки и отладки программ на Python.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Обновление множества в Python
  2. Работа с очередями в Python
  3. Создание лямбда-функций
  4. Создание даты из строки ISO
  5. Функция zip() — объединение последовательностей
  6. Потоковый ввод в Python
  7. Удаление файлов и папок в Python
  8. Декоратор total_ordering для класса Point
  9. Пересечение списков с использованием множеств
  10. Возведение в квадрат с помощью itertools
  11. Статическая типизация в Python
  12. Поиск подстроки в строке
  13. Упрощение условных выражений с тернарным оператором
  14. Оператор assert в Python
  15. Возврат нескольких значений
  16. Работа с *args и **kwargs в Python
  17. Сравнение def и lambda в Python
  18. Оптимизация методов в Python 3.7
  19. Работа с URL-адресами в Python
  20. Поиск email
  21. Создание словаря и множества
  22. Удаление файлов с shutil.os.remove()
  23. Преобразование регистра символов
  24. Генераторы данных
  25. Замыкания в Python
  26. Получение срезов итераторов
  27. Аргумент по умолчанию
  28. Резервирование символов в Python
  29. Работа с collections.Counter
  30. None в Python: использование и особенности
  31. Обход дочерних элементов BeautifulSoup
  32. Работа с парами ключ-значение
  33. Методы HTTP запросов в Flask
  34. Определение размера папок в Python
  35. Блок else в Python
  36. Списки в Python: синтаксис представления
  37. Метод join для наборов
  38. Удаление файлов в Python
  39. Назначение максимального и минимального значения переменной в Python.
  40. Применение функции к каждому элементу списка
  41. Создание и операции с дробями
  42. Оператор @ для умножения матриц
  43. Подписка на SelectelNews в Twitter
  44. Ошибка NotImplemented в Python
  45. Работа с датами в Python

Marketello читают маркетологи из крутых компаний