python相当于java guava前提条件

She*_*jie 13 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
   **/   
}
Run Code Online (Sandbox Code Playgroud)

如果a或b为null,Java会抛出Runtime Exception,python如何,python的最佳实践是什么?

sap*_*api 2

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

例如,如果您正在读取文件,则可以执行以下操作:

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

而不是先测试失败案例.