Python sum() 导入 numpy 后有不同的结果

2023-12-30

我遇到了 Jake VanderPlas 的这个问题,我不确定我对导入 numpy 模块后结果不同的理解是否完全正确。

>>print(sum(range(5),-1)
>> 9
>> from numpy import *
>> print(sum(range(5),-1))
>> 10

似乎在第一个场景中,sum 函数计算可迭代对象的总和,然后从总和中减去第二个 args 值。

在第二种情况下,导入 numpy 后,函数的行为似乎发生了变化,因为第二个参数用于指定应执行求和的轴。

练习编号 (24) 来源 -http://www.labri.fr/perso/nrougier/teaching/numpy.100/index.html http://www.labri.fr/perso/nrougier/teaching/numpy.100/index.html


“函数的行为似乎已经修改,因为第二个参数用于指定应执行求和的轴。”

你基本上已经回答了你自己的问题!

从技术上讲,说该函数的行为已被修改是不正确的modified. from numpy import *导致“阴影”builtin sum功能 https://docs.python.org/2/library/functions.html#sumnumpy sum功能 http://docs.scipy.org/doc/numpy/reference/generated/numpy.sum.html,所以当你使用这个名字时sum,Python 找到 numpy 版本而不是内置版本(有关更多详细信息,请参阅@godaygo 的答案)。这些都是不同的具有不同参数的函数。使用通常是一个坏主意from somelib import *,正是因为这个原因。相反,使用import numpy as np,然后使用np.sum当你想要 numpy 函数和普通函数时sum当你需要Python内置函数时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python sum() 导入 numpy 后有不同的结果 的相关文章

随机推荐