В чем разница между Python try and assert? - PullRequest
0 голосов
/ 05 мая 2020

Я новичок в Python и хотел бы знать, в чем разница между Try и assert и ситуациями, в которых каждый из них более подходит. Спасибо.

1 Ответ

1 голос
/ 05 мая 2020

Добро пожаловать в Stack Overflow.

Вы можете прочитать документацию для try здесь: https://docs.python.org/3/tutorial/errors.html

Вы можете прочитать документацию для assert здесь : https://docs.python.org/3/reference/simple_stmts.html

По сути, try означает попробовать следующий блок кода, и если есть ошибка, она обрабатывается в части except.

Например:

try:
   print(1/0) #a division by 0, should raise an error.
except ZeroDivisionError:
   print("You tried to divide by zero!")

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

assert означает «убедитесь, что верно следующее. ".

Итак, представьте, что если бы у нас была функция, выполняющая деление, и мы хотели бы убедиться, что знаменатель никогда не был равен нулю, мы могли бы сделать:

def divide(a, b):
    assert b != 0
    return a/b

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...