我正在学习 Python 和 numpy,并且对鸭子类型的想法很陌生。我正在编写函数,某些东西/某人应该将一个 numpy 数组传递给这些函数。试图接受鸭子类型,我正在编写代码以使用numpy.array
andcopy=
选项ndmin=
将 array_likes 或 1d/0d 数组转换为我需要的形状。具体来说,我ndmin=
在可以接受(p,p)
数组或标量的情况下使用该选项;标量可以编码为int
、(1,)
数组、(1,1)
数组、[1]
列表等...
因此,为了解决这个问题,我使用了类似S = numpy.array(S,copy=False,ndmin=2)
的方法来获取一个带有 right 的数组(如果可能的话)ndim
,然后根据需要测试形状。我知道我应该将它嵌入到 Try-Except 块中,但找不到任何关于numpy.array()
可能引发哪种异常的文档。因此,我目前只有这个:
# duck covariance matrix into a 2d matrix
try:
S = numpy.array(S, ndmin = 2, copy=False)
except Exception as e:
raise e
我应该尝试在此处捕获哪些特定异常?谢谢。