Python--共享引用教程

时间:2017-12-05 17:24来源:成都达内 作者:成都达内 点击:

  Python--共享引用教程

  在Python中创建一个变量并赋值(例a=3)相当于是变量对一个对象的引用,一旦变量被引用,Python会自动跟随这个变量到这个对象的连接;共享引用呢,就是多个变量引用了同一个对象。

  a = "例子"

  b = a #a,b都引用了“例子”这一对象a = "example"a,b

  这段代码中,a先引用了"例子"这个对象,然后b也引用了“例子”这个对象,共享了同一变量;之后a被赋予了"example“这个新的对象,打印a,b,结果是('example','例子');

  所以对于列表、字典这些在原处支持修改的对象,在共享引用的时候要小心一个变量的修改会影响到其它的变量。

  L1 = [1,2,3]

  L2 = L1

  L[0] = 1111

  L1,L2

  L1的改变是否会影响L2的值?答案是会。打印出来L1,L2的值都是[1111,2,3];

  因为L1和L2都引用了同一个对象,即同一块内存空间,而列表对象又支持原处修改,所以L1的修改就导致了共同引用空间的修改,所以引用了这块区域的变量的值都会随之改变;

  如果不想这种情况发生,要拷贝对象而不是创建对象的引用,例如上述L2列表可以利用分片拷贝L1而不是共享L1的对象,这样L1的改变不会影响L2的值:

  L1 = [1,2,3]

  L2 = L1[:]

  L1[0] = 1111

  L1,L2

  当然字典不能用分片技术来拷贝,应该使用X.copy()方法来调用。

  成都Python培训哪家好,当然是成都达内培训,成都达内是一家专业的程序员培训机构,专注于网络营销课程,成都Python培训,成都软件测试培训,成都php培训,成都java培训,成都安卓培训,成都会计实操培训,web前端开发,成都网络营销培训,成都it培训,成都编程培训,成都程序员培训等IT培训,专业的成都软件培训机构,专业师资授课,真实项目实战、零首付、低押金、名企就业,达内培训,成都Python培训学校www.cdtedu.com/pxkc/py/

(责任编辑:成都达内)

未获取畅言代码,错误消息:sign error

CopyRight © 2002-2016 成都达内科技职业技能培训学校 (www.cdtedu.com) 版权所有 成都达内 川公网安备 51019002000307号 网站地图