为什么 numpy.clip 和 numpy.ndarray.clip 有不同的参数名称?

问题描述 投票:0回答:1

numpy.clip函数运行

numpy.clip(a, a_min, a_max, out=None, **kwargs)

numpy.ndarray.clip方法

ndarray.clip(min=None, max=None, out=None, **kwargs)

numpy 中一个使用

a_min
a_max
,另一个使用
min
max
是否有原因/一致性?

似乎它之前并没有让太多人感到困惑,唯一的问题我能找到提到它的内容已经很旧了,我不确定那里有答案

例如

import numpy as np
a = np.array([[2,1],[-1,-2]])
np.clip(a, min=-1.5, max=1.5)
TypeError: clip() missing 2 required positional arguments: 'a_min' and 'a_max'
python numpy numpy-ndarray
1个回答
0
投票

链接的问题包含一个猜测:

...也许这是故意这样做的,因为该函数是用 Python 编写的,可能与内置的最小值/最大值发生冲突。该方法是用 C 编写的,因此不存在这个问题。

这是我的额外猜测:

该函数可能未设计为与关键字参数一起使用(因为它的参数是强制性的)。在这种情况下,参数的名称没有什么意义。因此,实现此函数的人决定更改参数名称,而不是应用适当的消歧机制

© www.soinside.com 2019 - 2024. All rights reserved.