Рубрики
Без рубрики

Утверждения в Питоне

Давайте узнаем об обычном использованном тестировании и технике отладки, называемых утверждениями в Python. Мы узнаем, какие утверждения, почему они используются, когда нет

Автор оригинала: Pankaj Kumar.

Утверждения в Питоне

Давайте узнаем об обычном использованном тестировании и технике отладки, называемых утверждениями в Python. Мы узнаем, какие утверждения есть, почему они используются, когда они не используют их, а их синтаксис. Так что давайте начнем.

Что такое утверждения в Python?

Утверждения в Python являются заявлениями, которые используются для утверждения условия в программе. Они спроектированы таким образом, что если утвержденное условие оказывается ложным, программа не будет продолжаться.

Если утверждаемое условие неверно, утверждение поднимает AssertionError Отказ У вас есть возможность отправить сообщение вместе с AssertionError исключение.

Почему используются утверждения?

Актуальные утверждения используются программистом для тестирования и кода отладки во время цикла разработки и Уведомить программист любых ошибок это может присутствовать в коде.

Эти утверждения предназначены только для разработчика, так как утверждения Assert являются частью тестирования и отладки кода.

Таким образом, чтобы убедиться, что определенные условия выполняются до или после выполнения блоков, так что логические ошибки и исключения могут избегать позже в программе, мы используем утверждения.

Предналагаемое использование утверждения Assert заключается в том, что Состояние, которое вы пишете в заявлении, никогда не должен быть ложным Отказ Если условие оказывается ложным, он должен быть ошибка в программе, которая должна быть удалена.

Хорошим примером утверждений можно для обеспечения того, чтобы функцию, которая рассчитывает антиобродослуженный номер, всегда дает положительный результат, если это происходит иначе, то неисправность находится в логике функции, а не вход или любой другой внешний фактор

Когда не использовать утверждения?

Утверждения не должны обрабатывать ошибки времени выполнения.

Ошибки, такие как « файл не найден », « Недостаточно памяти/куча », « Соединение не установлено », и т. Д. Может быть обрабатываться и выпрямлена в остальном или значении Отказ

Эти заявления не являются ошибками, но просто существуют из-за некоторого внешнего фактора, который не встречается, и программа, вероятно, в порядке.

Потому что утверждения являются отладки инструкций, Если программа работает в оптимизированном режиме, то все утверждения игнорируются во время выполнения программы.

Для запуска программы в оптимизированном режиме мы используем флаг -O следующим образом:

python -O file_name.py

Это отключит отладку для кода, и все утверждения будут игнорироваться.

Таким образом, если какое-либо утверждение используется для проверки ввода или проблемы безопасности, то его проверка больше не существует в оптимизированном режиме, и что может привести к нежелательным ошибкам и охранным ламфам Отказ

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

Точно так же, если вы используете утверждения, чтобы убедиться, что возраст пользователя составляет более 18, то, если код работает в оптимизированном режиме, любой пользователь может обойти утверждение.

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

Реализация утверждений в Python

Давайте возьмем несколько примеров, чтобы понять, как писать утверждения в Python.

Обратите внимание, что образцы кода являются очень основными примерами и служат только целью объяснения синтаксиса и работы заявления.

a = 12
b = int(input())
assert b != 0
print(a / b)

В приведенном выше коде мы утверждаем условие, которое B не может быть нулевым, прежде чем перейти к следующему утверждению.

Давайте посмотрим на синтаксис перед выходом на выход.

Утверждение ключевого слова всегда должно сопровождаться выражением, которое приведет к истинному или ложному. У нас также есть возможность добавить сообщение, но мы увидим, что позже.

В приведенном выше случае, если вход ничего, кроме 0 выражение приведет к Правда И вывод будет выглядеть так:

Утверждение прошло пример

Вот, мы дали 5 в качестве ввода, и код бежал без проблем. Теперь давайте посмотрим, что произойдет, когда мы даем 0 Как вход:

Неудачный пример утверждения

Когда B имеет значение 0 Состояние возвращает Ложь и утверждение поднимает AssertionError Отказ

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

Добавьте сообщение к утверждению:

a = 12
b = int(input())
assert b != 0, "The input cannot be zero!"
print(a / b)

Здесь снова мы утверждаем условие, что B не может быть 0 И если условие неверно, утверждение даст AssertionError вместе с сообщением.

Итак, чтобы дать сообщение наряду с исключением, нам нужно указать строку, содержащую сообщение после записи условия и отделение условия и сообщения с запятой.

Для ненулевого ввода вывод не будет иметь никаких изменений, но если вход – 0 Затем вывод будет выглядеть так:

Пример неудачного сообщений

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

Заключение

В этом руководстве мы узнали, какие заявления Assert мы обсуждали, когда их использовать и когда их не использовать. Затем мы видели, как они написаны в Python и как они могут помочь с отладкой кода.

Я надеюсь, что вы узнали что-то и увидимся в другом руководстве.