Python中相当于Java Guava Preconditions的工具是什么?

13

Python有没有类似Java Preconditions库的等效工具?例如:

在Java中,您可以像这样检查参数:

public void dummymethod(Cat a, Dog b) {
   Preconditions.checkNotNull(a, "a can not be null.");
   Preconditions.checkNotNull(b, "b can not be null.");
   /**
   your logic
   **/   
}

如果a或b为空,Java会抛出运行时异常,那么在Python中应该如何最佳实践呢?

2个回答

2

虽然你可以使用assert来验证条件,但在Python中的最佳实践通常是记录函数的行为,如果不满足前提条件,则让其失败。

例如,如果你正在从文件中读取内容,你需要这样做:

def read_from_file(filename):
    f = open(filename, 'rU') # allow IOError if file doesn't exist / invalid permissions

与其首先测试失败案例,不如直接进行测试。


你能提供一个参考文献,证明这是Python的最佳实践吗? - Basil Musa

0

看起来你已经处理了字符串。使用 assert 和检查空字符串是一种方式。请参考下面的代码。

>>> try:
        assert a is not ''
    except:
        #Do Something

是的。刚刚发现这个问题。我不知道 OP 是否针对 .pyo 文件。如果是的话,我应该删除我的回答。 - Sukrit Kalra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接