【Python】值传递与引用传递

更新时间:2018-06-29

介绍

Python在进行参数传递时,有两种方式:值传递和引用传递。值传递就是常见的赋值操作,引用传递实际上传递的是参数的内存地址,因此函数中改变参数值,在函数外参数值仍会发生变化。Python会根据传入的数据对象进行自动识别。
对于可变对象如列表、字典,进行引用传递;对于不可变对象如数字、字符串、元组,进行值传递。

实例

>>> a = 1
>>> b = 'abcd'
>>> c = ('a','b','c')
>>> d = ['a','b','c']
>>> e = {1:'a',2:'b',3:'c'}
>>> def change1(x,y,z):
...     x = 2
...     y = 'aaaa'
...     z = (1,1,1)
...
>>> change1(a,b,c)
>>> a
1
>>> b
'abcd'
>>> c
('a', 'b', 'c')
>>> def change2(x,y):
...     x[1] = 2
...     y[1] = 'b'
...
>>> change2(d,e)
>>> d
['a', 2, 'c']
>>> e
{1: 'b', 2: 'b', 3: 'c'}

猜你喜欢

转载自blog.csdn.net/roguesir/article/details/80857708
今日推荐