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

如题所述

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

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

compute_matrix( mat )

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


附录:

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-09-22

题主你好,

可以通过在函数中使用global关键字来定义全局变量, 来达到不使用return也能得到相应值的目的.

代码及测试截图如下:

希望可以帮到题主, 欢迎追问.

本回答被提问者采纳