python相当于java guava前提条件

时间:2013-05-12 21:49:55

标签: python

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

2 个答案:

答案 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