Включение / отключение утверждений assert в python с использованием кода - PullRequest
0 голосов
/ 10 мая 2019

В C / C ++ программист может легко включать / отключать операторы assert с помощью макросов в исходном коде. Можно ли это сделать аналогичным образом в python?

Я знаю, что утверждения можно отключить, используя флаг -O (заглавная O) в python. Однако я предпочитаю делать это в исходном коде.

Я использую Python 3.7.3 и Windows 10.

1 Ответ

1 голос
/ 10 мая 2019

Я думаю, что в Python нет сопоставимого способа добиться этого. Флаг -O устанавливает для встроенной переменной __debug__ значение False, но Python не позволяет изменять ее во время выполнения.

Одним из возможных решений было бы заключить ваши утверждения в операторы if, используя глобальную переменную для управления выполнением операторов assert или нет, но я сомневаюсь, что это ответ, который вы ищете.

Для получения дополнительной информации о теме вы можете посмотреть этот ответ на связанный вопрос.

...