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 怎么样,python 的最佳实践是什么?

4

2 回答 2

2

虽然您可以assert用来验证条件,但 Python 中的最佳实践通常是记录函数的行为,然后在不满足前提条件时让它失败。

例如,如果您正在从文件中读取,您将执行以下操作:

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

而不是首先测试失败案例。

于 2013-05-12T22:01:54.340 回答
0

因为我看到你已经传递了字符串。assert检查空字符串将是一种方法。请参阅以下代码。

>>> try:
        assert a is not ''
    except:
        #Do Something
于 2013-05-12T21:53:58.420 回答