python3-使用断言的错误实践?

python3-使用断言的错误实践?,python,python-3.x,security,Python,Python 3.x,Security,我有一个python3脚本,它使用简单的assert语句来比较两个变量的值 assert response['checksum'] == checksum 一个名为bandit的代码分析工具将此标记为不良做法,保护较少。 使用assert真的是一种糟糕的做法并且不太安全吗?您在链接中自己给出了答案: 发现一些项目使用assert强制执行接口约束。但是,通过编译优化的字节码(python-o生成的*.pyo文件),可以删除assert 因此,如果一个库依赖于assert来强制执行某种验证,而我

我有一个python3脚本,它使用简单的assert语句来比较两个变量的值

assert response['checksum'] == checksum
一个名为bandit的代码分析工具将此标记为不良做法,保护较少。


使用assert真的是一种糟糕的做法并且不太安全吗?

您在链接中自己给出了答案:

发现一些项目使用assert强制执行接口约束。但是,通过编译优化的字节码(python-o生成的*.pyo文件),可以删除assert

因此,如果一个库依赖于
assert
来强制执行某种验证,而我将它与
py2exe
或类似的工具一起使用,生成的代码很有可能会丢失断言失败或跳过所述验证。这就是为什么您应该只在测试代码等中使用
assert