Мы все столкнулись с этой ситуацией, когда в чужой коде или сторонней библиотеке была ошибка, и в результате ваша производственная сборка не смогла развернуть. Причины бесконечны, это может быть связано с не декоративным методом, классом или даже из-за типа данных переменной.
Python предоставляет встроенное решение для этого, и оно известно как утверждать .
Что такое Assert?
Утверждение – это Встроенное заявление в Python и предоставляет очень удобный способ провести отладку тестов в самой программе.
Используя Assert, вы проверяете условие, и результат этого условия несет ответственность за немедленно бросить ошибку, если условие возвращает false, что приведет к немедленной остановке выполнения кода еще дальше.
Так как вы его используете?
Поскольку утверждение является утверждением, его можно просто использовать как
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/stacktrend/be-on-the-safe-side-with-assert-gig”