Python - 为什么要使用assert(required_pa​​ram)?

时间:2010-06-24 21:29:04

标签: python assert assertions

今天我在查看API的库时发现了这一点。

def my_function(self, required_param=None):
    assert(required_param)
    ... Do cool function stuff

这样做会不会更容易:

def my_function(self, required_param):
    ... Do cool function stuff

或者,我错过了什么?

assert()当然会给你一个可能出现的统一异常,但除非你希望这个函数在这种情况下无声地失败才能做某事,你宁愿让它大声突破以便你可以早期发现这样的错误?我永远不明白为什么人们在生产代码中使用断言。也许,我会在得到一些答案之后。

1 个答案:

答案 0 :(得分:2)

我能够想象你所描述的情况的唯一原因是拒绝False0[](,)等等。但这并不是'对断言默认值有意义。

如果作者不打算拒绝其他虚假值,那么assert甚至更多可疑。