栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Numpy数组赋值的时候发生了什么?python参数传递方式

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Numpy数组赋值的时候发生了什么?python参数传递方式

python函数传递参数的方式属于引用传递,不过这种引用传递和C/C++不太一样,因为如果直接在函数中对参数进行赋值的话,不会改变外部传入的变量。这是由于直接赋值相当于令该引用绑定了新的变量,而不是直接对原来的变量进行赋值。

import numpy as np

def test_fun(x):
    x=x+1 #直接赋值,x绑定了新的对象,也就是说执行完这条命令后的x指向了新的内存空间
    

def test_fun2(x):
    x[:]=x+1 #直接在x指向的内存空间中修改x的内容
    
a=np.array([[1.0,2.0,3.0],[4.0,5.0,6.0]])
print("id(a)=",id(a))
print("a=",a)

test_fun(a)
print("id(a)=",id(a))
print("a=",a)

test_fun2(a)
print("id(a)=",id(a))
print(a)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/580770.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号