<分区>
过去一年我一直在 Java 工作,我使用 assert
来确保传递到方法中的参数满足某些先决条件。我想在 Python 中做同样的事情,但我读到 here异常比断言更好用。
这是我目前拥有的:
if type(x) == List:
x = np.array(x)
else:
err = ("object passed for x is not a numpy.ndarray or a list")
assert type(x) is np.ndarray, err
err = ("object passed for n is not an integer")
assert type(n) is IntType, err
err = ("the size of the object passed for x does not equal "
"n squared")
assert x.size is n**2, err
是否有更优雅和/或 Pythonic 的方法来解决这个问题?我是否应该编写自己的异常类以在传递无效参数时引发?