我过去一年一直在使用Java,其中我使用
以下是我目前的代码:
有更优雅/更符合Python习惯的方法来处理这个问题吗?我应该编写自己的异常类来在传递无效参数时引发异常吗?
assert
来确保传递给方法的参数满足某些前提条件。 我希望在Python中也能这样做,但我在这里读到异常比断言更好用。以下是我目前的代码:
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
有更优雅/更符合Python习惯的方法来处理这个问题吗?我应该编写自己的异常类来在传递无效参数时引发异常吗?
try: x = np.array(x)
? - jonrsharpetry except
逻辑。 - NendoTakais
来比较数值类型的变量,就像你在最后一行所做的那样。即使a == b
为 True,a is b
也有可能为 False。 - Kevin