编程语言
首页 > 编程语言> > python – numpy.array()异常抛出(抱歉最初可怕的标题)

python – numpy.array()异常抛出(抱歉最初可怕的标题)

作者:互联网

我正在学习Python和numpy,并且对于鸭子打字的想法不熟悉.我正在写一些函数,某些东西/某人应该通过一个numpy数组.试图接受鸭子打字,我正在编写我的代码,使用numpy.array和copy =和ndmin =选项将array_likes或1d / 0d数组转换为我需要的形状.具体来说,在我可以接受(p,p)数组或标量的情况下,我使用ndmin =选项;标量可以编码为int,(1)数组,(1,1)数组,[1]列表等…

所以为了解决这个问题,我使用S = numpy.array(S,copy = False,ndmin = 2)来获取具有正确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

我应该尝试捕捉哪些特定的例外情况?谢谢.

解决方法:

将您的函数记录为接受array_like对象并将异常处理留给调用者.

numpy.array()是非常宽松的函数,它几乎可以转换为数组.

标签:python,numpy,duck-typing
来源: https://codeday.me/bug/20190630/1331578.html