我是Python的新手,想知道Try和assert以及每种情况都更适合的情况之间有什么区别。谢谢。
答案 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,则断言将引发异常,这将阻止程序继续运行,除非对该异常进行了处理。