blu*_*cat 7 python numpy division
def f(x):
x=x/5.
return x
def g(x):
x/=5.
return x
x_var = np.arange(5,dtype=np.double)
f(x_var)
print x_var
g(x_var)
print x_var
Output:
[ 0. 1. 2. 3. 4.]
[ 0. 0.2 0.4 0.6 0.8]
Run Code Online (Sandbox Code Playgroud)
这种行为对我来说有点奇怪,我一直以为x/= 5.相当于x = x/5..但很明显,g(x)函数不会使用/ =操作创建新引用.有人可以为此提供解释吗?
我一直认为x/= 5.相当于x = x/5
除非班级覆盖__idiv__运营商,否则就是这样numpy.ndarray.
numpy.ndarray覆盖它以就地修改数组,这很好,因为它避免了在不需要复制时创建数组的新副本.你可以猜到,它也会覆盖其余的__i*__运营商.
| 归档时间: |
|
| 查看次数: |
398 次 |
| 最近记录: |