Перейти к содержанию

Поиск и исправление ошибок в Python

Начало урока

Поиск и исправление ошибок в Python

Как читать сообщения об ошибках и исправлять частые ошибки новичков

Главная идея: Каждый программист делает ошибки — даже опытные! Когда в твоём коде есть ошибка, Python не сердится. Вместо этого он выводит полезное сообщение — ошибку, которая говорит, где проблема и что пошло не так. Умение читать это сообщение — настоящая суперсила.
К концу урока ты сможешь:
  • сохранять спокойствие, увидев красное сообщение об ошибке,
  • читать трейсбек Python, чтобы найти номер строки и тип ошибки,
  • узнавать частые ошибки новичков: NameError, TypeError и SyntaxError,
  • использовать print(), чтобы заглянуть внутрь программы и найти баг.

1. Баг — это не катастрофа

Ошибку в коде называют багом. Поиск и исправление багов называют отладкой (debugging). Баги — это совершенно нормально, они часть программирования, как стирание и переписывание — часть рисования.

Аналогия: Представь, что Python — очень внимательный друг, который читает твой рецепт вслух. Если шаг непонятен, друг останавливается и показывает на точную строку: «Вот здесь — я не понимаю эту часть». Python делает то же самое сообщением об ошибке. Он помогает тебе, а не ругает.

Не бойся красного текста. Читай его медленно. Обычно он почти точно говорит, что нужно исправить.

2. Как читать трейсбек

Когда Python встречает проблему, дальше которой он не может продолжить, он останавливается и выводит трейсбек. Посмотри на эту крошечную программу с опечаткой:

message = "Hello"
print(mesage)

Когда ты её запускаешь, Python выводит:

Traceback (most recent call last):
  File "main.py", line 2, in <module>
    print(mesage)
NameError: name 'mesage' is not defined

Не паникуй — читай снизу вверх. Самые полезные части:

  • Последняя строка говорит тип ошибки и короткое сообщение. Здесь это NameError: name 'mesage' is not defined.
  • line 2 говорит точно, где смотреть. Баг на строке 2.

Теперь исправить легко: мы написали mesage, но коробка называется message. Исправь написание:

message = "Hello"
print(message)

Ожидаемый вывод:

Hello
Traceback (most recent call last): File "main.py", line 2, in <module> print(mesage) NameError: name 'mesage' is not defined ГДЕ: номер строки ЧТО: тип ошибки + сообщение
Читай трейсбек: номер строки говорит ГДЕ, последняя строка говорит ЧТО пошло не так.

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя