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为null,Java会抛出Runtime Exception,python如何,python的最佳实践是什么?
答案 0 :(得分:5)
虽然您可以使用assert
来验证条件,但Python中的最佳做法通常是记录函数的行为,然后在不满足前置条件时让它失败。
例如,如果您正在阅读文件,则可以执行以下操作:
def read_from_file(filename):
f = open(filename, 'rU') # allow IOError if file doesn't exist / invalid permissions
而不是先测试失败案例。
答案 1 :(得分:0)
因为我看到你已经通过了字符串。 assert
并检查空字符串是一种方法。请参阅以下代码。
>>> try:
assert a is not ''
except:
#Do Something