Python入门(七):对象类型之元组

您所在的位置:网站首页 元组里面的列表可以改变吗 Python入门(七):对象类型之元组

Python入门(七):对象类型之元组

2024-07-05 20:40| 来源: 网络整理| 查看: 265

元组 1. 元组特性 2. 元组操作 2.1 基本操作 2.2 关于元组的不可变性

1. 元组特性

  列表是有序对象的集合并且支持原处修改,元组与列表的差别就在于它不支持原地修改。元组主要有以下特点:

1). 有序集合、通过偏移量来提取数据 与字符和列表相似,元组是一个位置有序的对象的集合 (从左到右),通过偏移量提取数据,支持索引和分片。

2). 不可变、固定长度、异构以及任意嵌套 因为元组是不可变的序列,不支持原处修改,因此长度固定;元组里面的对象可以是各种类型,支持异构;元组中可以嵌套元组,列表,字典等对象。

  元组可以看作是对象引用的数组,元组存储指向其他对象的存取点 (引用) 。

这里说明一下,Python的不可变类型和可变类型在内存中的问题。我们知道,任何变量都是对一个对象的引用,在赋值过后指向数据所在的内存。对于不可变类型中的数字和字符串,不同的变量名若是对应相同的数据,它们指向的内存地址一样。对于可变类型和元组,不同的变量名若是有相同的数据,它们指向的内存地址不一样。 以上均在VS Code中测试,注意IDE和交互模式下不同,大家可以自行测试。

交互模式下,对于不可变类型,不同变量名指向相同的内存地址的情况:数字仅限小数字(参见之前的博客Python入门(三):对象类型之数字),字符串仅限没有空格和其他符号的连续字符。

#*******不可变类型******** ##元组 t1 = (123,) t2 = (123,) print('tuple:',id(t1)==id(t2)) ##数字 n1 = 1.2e30 n2 = 1.2e30 print('number:',id(n1)==id(n2)) ##字符串 s1= 'hello python aaaaaaaaaa, bcd' s2 = 'hello python aaaaaaaaaa, bcd' print('string:',id(s1)==id(s2)) #*******可变类型******** ##列表 l1 = [123] l2 = [123] print('list:', id(l1)==id


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3