我们在讲述关于参数传递之前,先来回顾下,之前跟大家已经说过了的函数参数,以及路径传递方式,这样大家是否进行联系起来了呢?因为我们的编写内容是个活水,需要我们源源不断的往下流淌,因此关于传递这块内容,大家一定要跟着小编好好学习接下来的内容哦~这样有助于大家之后好好的利用这部分知识。
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还是指向原有的对象。
上述给大家演示的,就是关于整个函数的传参过程,大家如果遇到需要进行传参的内容,可以根据小编这边内容设置下,即可实现结果哦~
发表评论
还没有评论,快来抢沙发吧!