2019独角兽企业重金招聘Python工程师标准>>>

一:对于可变对象 1.l = l + [3,4]结果只更新了l.

l=[1,2] m=l #l,m指向同一个对象 l,m ([1, 2], [1, 2]) id(l),id(m) #l,m指向同一块内存 (140369263115080, 140369263115080) l = l + [3,4] #l指向新的对象 id(l),id(m) (140369263121224, 140369263115080) l,m #l被更新 ([1, 2, 3, 4], [1, 2])

2.当使用+=时,l,m都发生更新。 (共享对象引用)

l=m id(l),id(m) (140369263116104, 140369263116104) l += [3,4] #没有生成对象,在原处修改。 id(l),id(m) (140369263116104, 140369263116104) l,m ([1, 2, 3, 4], [1, 2, 3, 4])

二:对于不可变对象 不可变对象,不可在原处修改。

s='abcdef' ss=s id(s),id(ss) (140369328257208, 140369328257208) s = s + 'a girl name ' #新对象 id(s),id(ss) (140369328252512, 140369328257208) s,ss ('abcdefa girl name ', 'abcdef') s=ss id(s),id(ss) (140369328257208, 140369328257208) s,ss ('abcdef', 'abcdef') s +='a girl name ' #新对象 id(s),id(ss) (140369328252512, 140369328257208)

转载于:https://my.oschina.net/tplinuxhyh/blog/687401

+= 对于可变对象和不可变对象的区别相关推荐

  1. python哪些是可变对象_什么是Python可变对象和不可变对象

    什么是Python可变对象和不可变对象 发布时间:2020-07-22 09:59:15 来源:亿速云 阅读:60 作者:Leah 这篇文章运用简单易懂的例子给大家介绍什么是Python可变对象和不可 ...

  2. python基础教程:对可变对象和不可变对象的详解

    数据类型分为可变.不可变.可变对象表示可以原处修改该数据对象,不可变对象表示必须创建新对象来保存修改后的数据. 在基础数据类型中: 数值.字符串.元组.frozenset是不可变对象 列表.set.d ...

  3. python的可变对象和不可变对象

    说明 在python中处处皆对象,那么具体细分又可以分为可变类型和不可变类型对象,今天来详细讨论一下. is 和 == 的区别 先提前说一下is和==的区别以帮助理解. is是判断两者是否属于同一内存 ...

  4. Objective-C:OC内部可变对象和不可变对象的深(复制)拷贝问题思考:

    OC内部:可变对象和不可变对象的深(复制)拷贝问题思考: 不可变对象: 例如NSString对象,因为NSString对象是常量字符串,所以,不可以更改其内容,但是可以修改指向该字符串的指针指向.当对 ...

  5. python中、变量指向的对象可以发生变化吗_python中的引用传递,可变对象,不可变对象,list注意点...

    python中的引用传递 首先必须理解的是,python中一切的传递都是引用(地址),无论是赋值还是函数调用,不存在值传递. 可变对象和不可变对象 python变量保存的是对象的引用,这个引用指向堆内 ...

  6. python可变对象 不可变对象_【Python】可变对象和不可变对象

    在 Python 中一切都可以看作为对象.每个对象都有各自的 id, type 和 value. id: 当一个对象被创建后,它的 id 就不会在改变,这里的 id 其实就是对象在内存中的地址,可以使 ...

  7. 【面向对象】可变对象和不可变对象

    在面向对象的系统中,存在可变对象(mutable)和不可变对象(immutable)两种对象,本文基于Java语言进行对比分析. 顾名思义,可变对象是创建之后状态可以改变的对象,不可变对象则是创建之后 ...

  8. python可变对象与不可变对象_python 可变对象与不可变对象

    一.原理 可变对象:list dict set 不可变对象:tuple string int float bool 1. python不允许程序员选择采用传值还是传引用.Python参数传递采用的肯定 ...

  9. python中不可变对象_Python中的可变对象与不可变对象、浅拷贝与深拷贝

    Python中的对象分为可变与不可变,有必要了解一下,这会影响到python对象的赋值与拷贝.而拷贝也有深浅之别. 不可变对象 简单说就是某个对象存放在内存中,这块内存中的值是不能改变的,变量指向这块 ...

  10. 可变对象 vs 不可变对象(Python)

    Python 在 heap 中分配的对象分成两类:可变对象和不可变对象.所谓可变对象是指,对象的内容是可变的,例如 list.而不可变的对象则相反,表示其内容不可变. 不可变对象:int,string ...

最新文章

  1. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接...
  2. 注册界面的设计与实现
  3. AdaBoost算法特性
  4. 开启Linux系统路由转发功能 实现多网段电脑共享上网
  5. 《软件架构与设计模式》关于 抽象工厂模式 的一个小例子
  6. 李洪强iOS经典面试题36-简单介绍 ARC 以及 ARC 实现的原理
  7. 雅虎对提升网站性能的最佳实践(英文)
  8. python gevent async_python的异步初体验(gevent、async、await)
  9. scala 访问修饰符_Scala中的访问修饰符
  10. C++基础知识友元friend、友元函数和友元类
  11. python编程环境安装包_Python环境安装与配置
  12. mysql配置命令_MySQL基本配置命令总结
  13. 开源之旅之开源企业软件采购指南
  14. c语言课程设计--拼图游戏,C语言课程设计_拼图游戏.pdf
  15. gitlab用户,组,项目权限管控
  16. 无法定位序数325于动态链接库SHDOCVW.dll的解决方法
  17. ASP.NET 参数传递,长度限制,及使用注意事项。
  18. autocad ios 虚线_autocad 如何画虚线
  19. 服务器安装系统要如何载入驱动程序,Dell 服务器安装Windows 2008 R2时手动加载阵列卡驱动...
  20. 铁是这样炼成的——IT项目经理的职业生涯

热门文章

  1. 如何改变Delphi的快捷键 - DELPHI
  2. 使用migration创建表时,出错的解决方法
  3. python入门20 导入模块(引包)
  4. .net的数据类型说明
  5. jquery中has方法
  6. 【转】android开发 dts、各种接口porting----不错
  7. 创建Android Virtual Device
  8. 神经网络入门--学习资源
  9. 【OpenCV入门指南】第四篇 图像的二值化
  10. Mix Up Studio for Mac - 便携混音工作室