如何进行python函数参数的传递?
我们在讲述关于参数传递之前,先来回顾下,之前跟大家已经说过了的函数参数,以及路径传递方式,这样大家是否进行联系起来了呢?因为我们的编写内容是个活水,需要我们源源不断的往下流淌,因此关于传递这块内容,大家一定要跟着小编好好学习接下来的内容哦~这样有助于大家之后好好的利用这部分知识。
python函数是如何进行参数传递的?
python的参数传递是赋值传递或者说是引用传递。下面我们来看个例子:
In [28]: def func(b): ...: b = 2 In [29]: a = 1 In [30]: func(a) In [31]: a Out[31]: 1
这里的参数传递,使变量 a 和 b 同时指向了 1 这个对象。但当我们执行到 b = 2 时,系统会重新创建一个值为 2 的新对象,并让 b 指向它;而 a 仍然指向 1 这个对象。所以,a 的值不变,仍然为 1。
如何改变a的值呢?
我们可以在函数中将b返回
def func(b): b = 2 return b a = 1 a = func(a) a 2
上面的例子我们的是int类型的,下面我们看一下列表的例子:
def func(l2): l2.append(77) l1 = [12,3,6] func(l1) l1 [12,3,6,77]
这里 l1 和 l2 先是同时指向值为[1, 2, 3]的列表。不过,由于列表可变,执行 append() 函数,对其末尾加入新元素 4 时,变量 l1 和 l2 的值也都随之改变了.
结果是什么呢?
def func(l2): l2 = l2 + [4] l1 = [12,3,6] func(l1) l1 [12,3,6]
可以看到,l1没有发生变化,原因是l2 + [4]这个操作表示创建了一个末尾加入元素 4的新列表,并让 l2 指向这个新的对象,l1还是指向原有的对象。
上述给大家演示的,就是关于整个函数的传参过程,大家如果遇到需要进行传参的内容,可以根据小编这边内容设置下,即可实现结果哦~
来源:PY学习网:原文地址:https://www.py.cn/article.html