当我使用numpy函数empty_like
时,我得到1个错误,无法自己解释。
以下是代码:
In [38]: aa=np.array([1,2])
In [39]: b=np.empty_like(aa) #it is ok
In [40]: b=np.empty_like(a=aa) #it is wrong
TypeError
Traceback (most recent call last)
<ipython-input-40-9b39ff78d8bb> in <module>()
----> 1 b=np.empty_like(a=aa) #it is wrong
TypeError: Required argument 'prototype' (pos 1) not found
我查看了文档,其中说
empty_like(a, dtype=None, order='K', subok=True)
返回一个与给定数组具有相同形状和类型的新数组。
...
是什么原因?该函数有一个名为a
的形式参数,但我无法使用它来调用该函数。当然,使用a
的其他* _like函数也可以。
In [42]: b=np.zeros_like(a=aa) #it is ok
In [43]: b=np.ones_like(a=aa) #it is ok
有人知道原因吗?或者这是一个错误?
答案 0 :(得分:2)
这似乎是__doc__
属性中的错误,使得帮助显示错误的函数签名:
>>>np.empty_like.__doc__
"empty_like(a, dtype=None, order='K', subok=True)\n\n
等等。但是错误之后,
np.empty_like(prototype=aa)
的工作原理。 a
我觉得这是错误的。可能是有人犯过的错字,或者是一个不遵守惯例的新程序员。