gpt4 book ai didi

python - 使用断言的最佳实践?

转载 作者:IT老高 更新时间:2023-10-28 12:03:04 26 4
gpt4 key购买 nike

  1. 使用 assert 是否存在性能或代码维护问题?作为标准代码的一部分,而不是仅用于调试目的?

    assert x >= 0, 'x is less than zero'

    更好或更差

    if x < 0:
    raise Exception('x is less than zero')
  2. 另外,有没有办法设置像 if x < 0 raise error 这样的业务规则?总是在没有 try/except/finally 的情况下检查所以,如果在整个代码中的任何时候x小于 0 会引发错误,例如设置 assert x < 0在函数的开头,函数内的任何位置,x小于 0 是否引发异常?

最佳答案

断言应该用于测试不应该发生的条件。目的是在程序状态损坏的情况下尽早崩溃。

异常应该用于可能发生的错误,并且您应该几乎总是创建自己的异常类


例如,如果您正在编写一个从配置文件读取到 dict 的函数,则文件中不正确的格式会引发 ConfigurationSyntaxError,而您可以assert 你不会返回 None


在您的示例中,如果 x 是通过用户界面或外部来源设置的值,则最好是异常(exception)。

如果 x 仅由您自己在同一程序中的代码设置,请使用断言。

关于python - 使用断言的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/944592/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com