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

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值