在python中一切皆对象,对象是对数据的抽象。

所有对象有三个要素:类型、标识、值。类型决定对象可以支持哪些操作;标识指的是对象的内存地址,每个对象有唯一的地址,通过id内建函数可以求出地址;值从字面上看是对象的内容,但是应该理解为对内容的绑定关系。绑定也有说成引用、指向。

对象一旦被创建,它的类型和标识是不变的,根据值的绑定关系是否可变分为可变对象和不可变对象。

如果“值”理解为对象的内容容易产生疑惑。如元组是不可变对象,但是如果元组的元素包含可变对象,那元组的内容是可以改变的,因为可变对象的值可以改变。

那元组为什么说是不可变的对象,理由是元组对已经绑定的可变对象的绑定关系是不可变的,就是元组里的索引一旦绑定了一个对象,就不能修改这个绑定,不能再将这个索引绑定到其它对象,同样就容易理解可变对象了,可变对象值可变指的是内容的绑定关系是可变的,如列表,列表的索引所绑定的对象是可以修改的。

通过例子来理解:

tuple_a = (1,[1,2,3])

list_a = [1,2,3]

tuple_a是一个包含两个元素的元组,有两个索引即tuple_a[0]和tuple_a[1],这两个索引绑定分别整数对象1和列表对象[1,2,3],不可变指的是不能修改tuple_a[0]和tuple_a[1]这两个的绑定关系,这两个索引只能指向已经绑定的1和[1,2,3]这两个对象,不能对这两个索引进行赋值操作来修改绑定。

list_a是一个包含三个元素的列表,三个索引绑定了三个整数,这三个绑定是可以任意修改的,任意修改绑定指向其它对象,支持索引的赋值操作。

python中元组的值可变吗_python中对象的可变与不可变相关推荐

  1. python中元组用符号什么表示_Python中的“命名元组”是什么?

    命名的元组基本上很容易创建,轻量级的对象类型.可以使用像变量引用或标准元组语法的对象来引用命名的元组实例.它们可以类似于struct或其他常见的记录类型使用,除了它们是不可变的.它们是在Python ...

  2. python的元组和列表什么区别_Python 中列表和元组有哪些区别?

    看过了所有的区别,然而所有的区别都基本毫无意义,tuple元组的设计基本是python语言中一个完全失败和错误的设计,然而我们所有人都只敢小说地说啊它们之间有区别,没有人敢说它们没有区别,是因为这是一 ...

  3. python的六大数据类型中可以改变的数据类型为_Python中数据类型转换

    数据类型转换 将数据由当前类型变化为其他类型的操作就是数据类型转换.数据类型转换分为两类,分别是自动数据类型转换和 强制数据类型转换. 自动转换(隐式转换) 自动转换时程序根据运算要求进行的转换,不许 ...

  4. 【Java】从键盘中输入一个值,在数组中查找该值的索引并输出

    问题: 从键盘中输入一个值,在数组中查找该值的索引并输出 代码: package learnjava;import java.util.Scanner;public class demo13 {pub ...

  5. python字符串可变吗_python中不可变数据类型和可变数据类型

    在学习python过程中我们一定会遇到不可变数据类型和可变数据类型. 1.名词解释 以下所有的内容都是基于内存地址来说的. 不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址 ...

  6. python什么是可变参数_python中的可变参数和不可变参数

    原博文 2016-11-08 21:35 − 知识点:Python中,万物皆对象. python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址. 一.可变对象和不可变对象 Pyth ...

  7. python中的列表和元组_百度资讯搜索_python中的列表和元组

    腾讯网 11小时前# 元组(tuple)是 Python 中另一个重要的序列结构,和列表类似,元组也是由一系列按特定顺序排序的元素组成.元组是一个有序列表,序列中的每个元素都分配一个数字(...百度快 ...

  8. python中字典长度可变吗_python中列表长度可变吗

    python中列表长度可变吗?下面给大家介绍一下python中可变和不可变的类型: 可变.不可变 可变/不可变类型,指的是:内存id不变,type也不变的前提下,value是否是可变的. int()和 ...

  9. Python 中list中所有值加和_Python 中去除列表中重复元素的5种方法

    (点击上方快速关注并设置为星标,一起学Python) 1.使用集合 Python中集合的元素是唯一的,具有去重的功能.使用集合与列表可以互转的特性,将列表转换为集合去重,再将集合转换为列表: def ...

最新文章

  1. JavaScript 各种遍历方式详解
  2. 【转】Socket状态变迁图
  3. python做大型网站_Python中的大型Web应用:一个好的架构
  4. Docker : Dockerfile 定制镜像
  5. 【图说Word】怎么在word的每一行前面和后面加上同一个字或字符?
  6. POJ 1655:Balancing Act
  7. 云架构化-设计理念参考
  8. delphi中单独编译pas生成dcu文件
  9. liunx服务程序的安装及配置
  10. linux如何禁用独立显卡驱动,Ubuntu中独立显卡不好用如何关闭独立显卡
  11. python入门基础三之流程控制
  12. iOS录屏直播(一)初识ReplayKit
  13. 砸盘、销号、解散社群,Merlin Lab“跑路三连”暴露了DeFi哪些问题?
  14. Android获取系统邮件账号
  15. github监控平台hawkeye搭建
  16. 4.18耶稣受难日黄金持续跌势(附黄金原油操作建议)
  17. 计算机配置高低怎么看,怎么查看电脑配置?(查看电脑配置高低的三种方法!)...
  18. 科学计算机计算复合增长率,复合增长率excel公式(年均复合增长率计算器)
  19. bundle包是什么意思_如何创建和使用Bundle资源包
  20. 拓嘉启远电商:拼多多用户量居电商平台之首的原因

热门文章

  1. 本机IP地址、 127.0.0.1 和 0.0.0.0 的区别
  2. 如何实现用户增长以及提高转化率?
  3. Android EditText属性总结
  4. python中mean的用法_Python pandas.DataFrame.mean函数方法的使用
  5. 【ACL2021】基于边界检测增强的中文命名实体识别
  6. ubuntu18.04.01下载安装图形界面的过程
  7. Flink之Checkpoint
  8. js如何复制一个对象
  9. 用友ERP-U8为奥运供应商信息化加油---万象汽车ERp
  10. 记一次SQL递归查询所有子级(不包括本身)