引发 Assertionerror 与 assert python

Jir*_*rka 9 python error-handling assert

引发 Assertionerror 和 assert 以构建“错误”之间的最大区别是什么。对代码有什么影响?一个或另一个在某种程度上更像 pythonic 吗?

我的问题的原因是因为我现在正在学习编程我们有练习,例如当 x != "ok" (x 是某个数字) 我们需要得到一个 AssertionError "false"。

我在网上查了一下,然后他们说要设置以下代码:

if x != 0:
    raise AssertionError ("false")
Run Code Online (Sandbox Code Playgroud)

但我的老师也经常使用以下内容

assert x == "ok","fout"
Run Code Online (Sandbox Code Playgroud)

这种方法的(缺点)优点是什么?

已经非常感谢

Joh*_*don 11

这两个代码示例是等效的,不同之处在于assert可以使用-O命令行标志全局禁用语句。