Первоначально опубликовано в https://stacktrend.io.
Мы все столкнулись с этой ситуацией, когда в чужом коде или сторонней библиотеке произошла ошибка, и в результате вашей производственной сборки не удалось развернуть. Причины бесконечны, оно может быть связано с не объявленным методом, классом или даже из-за типа данных переменной.
Python предоставляет встроенное решение для этого, и это известно как утверждать .
Что является утверждение?
Assert – это Встроенное заявление В Python и обеспечивает очень удобный способ отладки тестов в самой программе.
Использование Assert Вы проверяете условие, и результат этого условия отвечает за немедленно выбрасывать ошибку, если условие возвращает false, что приведет к дальнейшему остановке выполнения кода.
Так как вы его используете?
Поскольку Assert является утверждением, которое его можно просто использовать как
assert the_condition
Этот тест также можно выразить с помощью следующего кода
if not the_condition: raise AssertionError()
Давайте посмотрим, что он делает, мы возьмем два основных база для имитации ситуаций в реальной жизни.
- Первый – библиотечный код.
- Второй – ваш код, в котором вы импортируете и используете этот библиотечный код.
Мы возьмем основной пример, чтобы просто сохранить вещи.
Библиотечный код
# animals.py class Dog: def bark(self): return "Bhow Bhow .... Bhow"
Ваш код
# pug.py from animals import Dog assert hasattr(Dog,"barks"), "The library code is broken fix it now" class Pug(Dog): def walk(self): return self.barks() if __name__ == "__main__": print("Inside main")
Результат
Здесь вы можете увидеть, что у нас есть та же ошибка, которую мы предоставили в заявлении Assert, также наблюдайте, что утверждение было проверено еще до
if __name__ == "__main__": print("Inside main")
блок был выполнен. Это показывает реальное преимущество Утверждать Заявление и почему вы должны использовать его, чтобы стать лучшим разработчиком.
Я надеюсь, что вы узнали что-то новое и полезное из этого поста, и не забудьте присоединиться к нашей рассылке.
Увидимся снова (⌐ ■ _ ■)
Оригинал: “https://dev.to/sharadcodes/be-on-the-safe-side-with-assert-527g”