下面的两个numpy函数似乎做同样的事情。
两者有什么区别?如果它们是相同的,为什么有两个不同的函数名?同样,rad2deg和degrees也是如此。
rad2deg
degrees
9fkzdhlc1#
这两个函数的功能完全相同,但deg2rad是一个更具描述性的名称。
pkmbmrz72#
这两个函数的作用完全相同。正如我在代码中所读到的,函数radians调用函数deg2rad。这同样适用于degrees和rad2deg。所以两者都在用同样的方法做同样的计算。在我看来,度和弧度仍然存在,以便向后兼容。
ogq8wdun3#
根据numpy文档,Aliya和托马斯的答案应该是正确的,这两个函数是等效的。然而,我发现PyCharm IDE检测到了差异。(我使用的是PyCharm 2022.3.3和python 3.10。)rad2deg()和degrees()的numpy文档都声明返回值是ndarray类型,但“如果x(以弧度为单位的输入Angular )是标量,则这是标量”。然而,当我将一个标量传递给degrees(),然后试图将返回值传递给python的round()函数时,PyCharm给了我一个“Unexpected type”警告,表明返回值不满足“SupportsRound”。但是当我切换到rad2deg()时,PyCharm没有给出这样的警告。这表明在某种程度上,存在差异。也许只是在函数签名中?
3条答案
按热度按时间9fkzdhlc1#
这两个函数的功能完全相同,但deg2rad是一个更具描述性的名称。
pkmbmrz72#
这两个函数的作用完全相同。正如我在代码中所读到的,函数radians调用函数deg2rad。这同样适用于degrees和rad2deg。
所以两者都在用同样的方法做同样的计算。
在我看来,度和弧度仍然存在,以便向后兼容。
ogq8wdun3#
根据numpy文档,Aliya和托马斯的答案应该是正确的,这两个函数是等效的。然而,我发现PyCharm IDE检测到了差异。(我使用的是PyCharm 2022.3.3和python 3.10。)
rad2deg()和degrees()的numpy文档都声明返回值是ndarray类型,但“如果x(以弧度为单位的输入Angular )是标量,则这是标量”。
然而,当我将一个标量传递给degrees(),然后试图将返回值传递给python的round()函数时,PyCharm给了我一个“Unexpected type”警告,表明返回值不满足“SupportsRound”。但是当我切换到rad2deg()时,PyCharm没有给出这样的警告。这表明在某种程度上,存在差异。也许只是在函数签名中?