Предупреждения обычно выводятся на экран в ситуациях, когда не гарантируется ошибочное поведение и программа, как правило, может продолжать работу, однако пользователя следует уведомить о чём-либо. Базовым классом для предупреждений является
Warning
, который наследуется от Exception
. Базовым классом-наследником Warning
для пользовательских предупреждений является UserWarning
.Для чего нужен модуль warning
В модуле
warning
собраны функции для работы с предупреждениями. Основной является функция warn, которая принимает один обязательный параметр message, который может быть либо строкой-сообщением, либо экземпляром класса или подкласса Warning
(в таком случае параметр category устанавливается автоматически) и два опциональных параметра: category
(по умолчанию – UserWarning
) – класс предупреждения и stacklevel (по умолчанию – 1) – уровень вложенности функций, начиная с которого необходимо выводить содержимое стека вызовов (полезно, например, для функций-обёрток для вывода предупреждений, где следует задать stacklevel=2,
чтобы предупреждение относилось к месту вызова данной функции, а не самой функции).@python_job_interview