python数组函数传值 python传入数组参数

在python函数里,不用return,怎么把值送出来?

题主好. 如果不用 return, 我们可以选择利用传递参数的引用来『把值送出来』, 但这样只能针对不变对象, 如字典, 列表, numpy 数组等等. 例如我们可以用如下代码修改 numpy 数组:

创新互联公司主营隆昌网站建设的网络公司,主营网站建设方案,成都app开发,隆昌h5成都小程序开发搭建,隆昌网站营销推广欢迎隆昌等地区企业咨询

mat = numpy.zeros((3,3))

compute_matrix( mat )

我们可以定义函数 compute_matrix 来修改参数 mat 的值, 并在这个函数结束后返回, 可以不用 return.

附录:

python 参数传递 (传值或传引用). 这篇博文将 python 中参数传递的情况, 什么时候传值什么时候传引用, 解释地很清楚, 具体地:

如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。

如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“传值'来传递对象。

python如何传递数组给自定义函数,不要循环语句

void fun(a,10) 将数组a的首地址赋给指针s

{

int i; i 计的是这数组中有几个字母

for (;*s;s++) 每循环一次,s后移一位,判断结束循环的条件s指向的内容为" \0 "

{

if(*s='a'*s='z'||*s='A'*s='Z')

i++;

}

python函数传参是传值还是传引用

python中所有数据都是对象,所以传参也是传的对象的引用,这个引用在函数执行前和执行后是不会被改变的,如:

num = 1

def change(num):

print(id(num))

num = 2

print(id(num))

执行change(num)后num的值还是1

可以看到在执行前num的id值(可以理解为内存地址)是某一值

但在执行change后,num的id值改变了,也就是说内部的num指向了另外的对象,而外部的num却还是指向原来的对象,所以值没有变;

同理,如:

num_list = [1,2]

def change_list(num_list):

print(id(num_list))

num_list.append(3)

print(id(num_list))

可以看到执行change_list后num_list的id值没有改变,也就是说num_list是在原来的对象上添加了新的数据,外部的num_list也是指向这一对象,所以外部的num_list数据也添加了新的数据。


网页名称:python数组函数传值 python传入数组参数
浏览路径:http://myzitong.com/article/hhechj.html