python中元组的值可变吗_python中对象的可变与不可变
在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中对象的可变与不可变相关推荐
- python中元组用符号什么表示_Python中的“命名元组”是什么?
命名的元组基本上很容易创建,轻量级的对象类型.可以使用像变量引用或标准元组语法的对象来引用命名的元组实例.它们可以类似于struct或其他常见的记录类型使用,除了它们是不可变的.它们是在Python ...
- python的元组和列表什么区别_Python 中列表和元组有哪些区别?
看过了所有的区别,然而所有的区别都基本毫无意义,tuple元组的设计基本是python语言中一个完全失败和错误的设计,然而我们所有人都只敢小说地说啊它们之间有区别,没有人敢说它们没有区别,是因为这是一 ...
- python的六大数据类型中可以改变的数据类型为_Python中数据类型转换
数据类型转换 将数据由当前类型变化为其他类型的操作就是数据类型转换.数据类型转换分为两类,分别是自动数据类型转换和 强制数据类型转换. 自动转换(隐式转换) 自动转换时程序根据运算要求进行的转换,不许 ...
- 【Java】从键盘中输入一个值,在数组中查找该值的索引并输出
问题: 从键盘中输入一个值,在数组中查找该值的索引并输出 代码: package learnjava;import java.util.Scanner;public class demo13 {pub ...
- python字符串可变吗_python中不可变数据类型和可变数据类型
在学习python过程中我们一定会遇到不可变数据类型和可变数据类型. 1.名词解释 以下所有的内容都是基于内存地址来说的. 不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址 ...
- python什么是可变参数_python中的可变参数和不可变参数
原博文 2016-11-08 21:35 − 知识点:Python中,万物皆对象. python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址. 一.可变对象和不可变对象 Pyth ...
- python中的列表和元组_百度资讯搜索_python中的列表和元组
腾讯网 11小时前# 元组(tuple)是 Python 中另一个重要的序列结构,和列表类似,元组也是由一系列按特定顺序排序的元素组成.元组是一个有序列表,序列中的每个元素都分配一个数字(...百度快 ...
- python中字典长度可变吗_python中列表长度可变吗
python中列表长度可变吗?下面给大家介绍一下python中可变和不可变的类型: 可变.不可变 可变/不可变类型,指的是:内存id不变,type也不变的前提下,value是否是可变的. int()和 ...
- Python 中list中所有值加和_Python 中去除列表中重复元素的5种方法
(点击上方快速关注并设置为星标,一起学Python) 1.使用集合 Python中集合的元素是唯一的,具有去重的功能.使用集合与列表可以互转的特性,将列表转换为集合去重,再将集合转换为列表: def ...
最新文章
- JavaScript 各种遍历方式详解
- 【转】Socket状态变迁图
- python做大型网站_Python中的大型Web应用:一个好的架构
- Docker : Dockerfile 定制镜像
- 【图说Word】怎么在word的每一行前面和后面加上同一个字或字符?
- POJ 1655:Balancing Act
- 云架构化-设计理念参考
- delphi中单独编译pas生成dcu文件
- liunx服务程序的安装及配置
- linux如何禁用独立显卡驱动,Ubuntu中独立显卡不好用如何关闭独立显卡
- python入门基础三之流程控制
- iOS录屏直播(一)初识ReplayKit
- 砸盘、销号、解散社群,Merlin Lab“跑路三连”暴露了DeFi哪些问题?
- Android获取系统邮件账号
- github监控平台hawkeye搭建
- 4.18耶稣受难日黄金持续跌势(附黄金原油操作建议)
- 计算机配置高低怎么看,怎么查看电脑配置?(查看电脑配置高低的三种方法!)...
- 科学计算机计算复合增长率,复合增长率excel公式(年均复合增长率计算器)
- bundle包是什么意思_如何创建和使用Bundle资源包
- 拓嘉启远电商:拼多多用户量居电商平台之首的原因
热门文章
- 本机IP地址、 127.0.0.1 和 0.0.0.0 的区别
- 如何实现用户增长以及提高转化率?
- Android EditText属性总结
- python中mean的用法_Python pandas.DataFrame.mean函数方法的使用
- 【ACL2021】基于边界检测增强的中文命名实体识别
- ubuntu18.04.01下载安装图形界面的过程
- Flink之Checkpoint
- js如何复制一个对象
- 用友ERP-U8为奥运供应商信息化加油---万象汽车ERp
- 记一次SQL递归查询所有子级(不包括本身)