在C++中,变量就是对象本身,对变量赋值就改变了它代表的对象。而在Python中,赋值的含义却是关联变量名字和实际对象,即变量指向了实际对象,当对变量再次赋值时,变量原来指向的对象并不会改变(其实对象的reference count会减1),而是变量指向了新的对象而已。

所以这还导致了一个后果,当多个变量指向同一个对象时,那么用其中一个变量修改对象后,其它指向同一对象的变量也“被改变”了。下面的代码清楚地显示了这一点:

>>> a = [0, 1, 2, 3]
>>> b = a
>>> a
[0, 1, 2, 3]
>>> b
[0, 1, 2, 3]
>>> a[0] = 99
>>> a
[99, 1, 2, 3]
>>> b
[99, 1, 2, 3]
>>> a = [5, 6, 7, 8]
>>> a
[5, 6, 7, 8]
>>> b
[99, 1, 2, 3]

Python中赋值的含义相关推荐

  1. Python中赋值、浅拷贝、深拷贝

    一.赋值 Python中赋值就是对对象的简单引用,这一点与C++不同,如下: a = [1, '123', [12, 'C']] b = a 在上述情况下,a和b是一样的,他们指向同一片内存,b不过是 ...

  2. 下划线在 Python 中的特殊含义

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 Python 中的下划线 下划线在 Python 中是有特殊含义的 ...

  3. python中关键字参数含义_python中接受任意关键字的参数

    1.*args args是非关键字参数,可以理解为形参,为了方便记忆我理解它是arguments的缩写. 2.*kwargs kwargs是键值对参数,为了方便记忆我理解它是key word argu ...

  4. python中赋值不正确的_python中的“赋值与深浅拷贝”

    Python中,赋值与拷贝(深/浅拷贝)之间是有差异的,这主要源于数据在内存中的存放问题,本文将对此加以探讨. 1 赋值(添加名字) 赋值不会改变内存中数据存放状态,比如在内存中存在一个名为data的 ...

  5. python中的抽象含义_Python中下划线的5种含义你都知道吗?

    英文原文:https://dbader.org/blog/meaning-of-underscores-in-python 本文介绍了Python中单下划线和双下划线("dunder&quo ...

  6. python中赋值不正确的_python中关于赋值、浅拷贝与深拷贝的问题

    Python中关于对象复制有三种类型的使用方式,赋值.浅拷贝与深拷贝.他们既有区别又有联系,刚好最近碰到这一类的问题,研究下. 一.赋值 在python中,对象的赋值就是简单的对象引用,这点和C++不 ...

  7. python中系列的含义_python中四种组合数据类型的含义、声明、增删改查,遍历

    一.列表 列表:list 可以存储多个有顺序的可以重复的数据的类型 其他语言:数据:python中~提供的是列表[不说数组] 列表:操作数据:增加.删除.修改.查询 [CRUD] append/ins ...

  8. Python中赋值,深拷贝和浅拷贝

    1python变量 变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不是这个变量的值本身. 2赋值 python变量赋值实际上是对象的引用. 如: list_a = [1,2 ...

  9. python中赋值“=”的理解

    基于看到的两篇优秀的博主的文章,记录自己的理解 博文1:(16条消息) [搬运]Python中等号赋值.copy.deepcopy的区别_leSerein_的博客-CSDN博客 博文2:(16条消息) ...

最新文章

  1. pandas读取多个文件内容为dataframe、并合并为一个dataframe、pandas创建仅有列标签而内容为空的dataframe
  2. redis实现轮询算法_用redis实现支持优先级的消息队列
  3. Java8————Optional
  4. oracle 数字格式取整,Oracle SQL语句操作数字:取整、四舍五入及格式化
  5. c++的准备知识18
  6. javaScript 面向对象与原型
  7. 多媒体计算机辅助英语教学,多媒体计算机辅助初中英语教学的实践研究
  8. 计算机网络实验-路由器IP地址配置及直连网络和ARP协议分析
  9. [转]Windows Shell 编程 第七章
  10. Cesium加载各种互联网地图(一)
  11. Xcode效率提升(快捷键等)
  12. VS Code按住ctrl不能跳转到定义/函数(Python)
  13. 盈盈少女(转老婆的文章)
  14. iOS给按钮添加系统声音
  15. 微信小程序的地址相关
  16. 2018 年 Google 设计亮点回顾
  17. 【Hive】大数据的排序和拼接
  18. 家电售后php网站源码,php家电维修源码-第一次接触php语言的最经典,最简单的源代码!!!!!!!!!!-电气资讯 - 电工屋...
  19. SWAT模型参数率定和验证
  20. PPTP和L2TP哪种好?

热门文章

  1. OpenSSL 代码问题漏洞(CVE-2020-1971)(CVE-2020-1967)
  2. 项目服务端的创建(丛林战争项目)
  3. http://jingyan.baidu.com/album/d8072ac47baf0eec95cefdca.html?picindex=4
  4. jQuery打印插件jqprint,无法打印select下拉框的值
  5. 马的Hamilton周游路线问题
  6. CNN-tracking-文章导读
  7. Oracle P6软件起源与发展
  8. 手把手教你写代码生成器(也算ORM的续)
  9. MYSQL索引底层原理
  10. create sequence 序列号