Python try和assert之间有什么区别?

时间:2020-05-05 01:01:58

标签: python-3.x exception

我是Python的新手,想知道Try和assert以及每种情况都更适合的情况之间有什么区别。谢谢。

1 个答案:

答案 0 :(得分:1)

欢迎堆栈溢出。

您可以在此处阅读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,则断言将引发异常,这将阻止程序继续运行,除非对该异常进行了处理。

相关问题