鱼C论坛

 找回密码
 立即注册
查看: 2082|回复: 4

[已解决]容器类型的值保存的是它们组合在一起的内存地址,那什么保存的是里面的实际值呢?

[复制链接]
发表于 2023-6-1 13:37:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
尽管Python没有给我们提供指针类型以及获取指针的方法,但是指针类型表示的引用这个概念在python中还是存在的,就是上面说到的列表、元组、字典等容器类型,这些容器类型的值保存的不是里面的实际值,而是它们组合在一起的内存地址

从上面这句话可知:

---列表、元组、字典等容器类型,这些容器类型的值保存的是它们组合在一起的内存地址

---……的值保存的是里面的实际值?
最佳答案
2023-6-1 13:40:20
容器类型的值保存的是它们组合在一起的内存地址,而不是里面的实际值。这是因为这些容器类型是可变类型,其内部元素可以随时改变,因此将其保存为内存地址可以更好地管理和维护这些元素。如果希望获取容器类型中的具体值,需要使用索引、键等方法来访问容器中的元素,并通过这些方法来获取它们的实际值。

不过,元组是个例外。它是不可变类型,其内部元素一旦创建就不能被修改,因此Python会将元组的实际值直接保存在元组的对象中,而不是像可变类型那样保存它们的内存地址。因此,如果要访问元组中的具体值,可以通过索引来获取它们。与元组不同,列表和字典是可变类型,它们的值保存的是它们组合在一起的内存地址。感谢您的指正,希望我的回答对您有所帮助。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-6-1 13:40:20 | 显示全部楼层    本楼为最佳答案   
容器类型的值保存的是它们组合在一起的内存地址,而不是里面的实际值。这是因为这些容器类型是可变类型,其内部元素可以随时改变,因此将其保存为内存地址可以更好地管理和维护这些元素。如果希望获取容器类型中的具体值,需要使用索引、键等方法来访问容器中的元素,并通过这些方法来获取它们的实际值。

不过,元组是个例外。它是不可变类型,其内部元素一旦创建就不能被修改,因此Python会将元组的实际值直接保存在元组的对象中,而不是像可变类型那样保存它们的内存地址。因此,如果要访问元组中的具体值,可以通过索引来获取它们。与元组不同,列表和字典是可变类型,它们的值保存的是它们组合在一起的内存地址。感谢您的指正,希望我的回答对您有所帮助。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-6-1 13:50:39 From FishC Mobile | 显示全部楼层
在Python中,虽然没有像C语言那样直接支持指针类型的机制,但是列表、元组、字典等容器类型确实可以看作是指针类型的抽象,它们内部存储的是引用(reference),也就是对象在内存中的地址,而不是对象本身的值。因此,我们可以通过容器类型对象的引用来访问它们所包含的真实值,这种“通过引用来获取值”的机制和指针类似,但是隐藏了底层内存管理的复杂性。

所以,上面的说法应该是:

---列表、元组、字典等容器类型,这些容器类型的值保存的是它们所包含的对象的引用,也就是对象在内存中的地址

---……的值并没有保存在容器类型中。要访问容器中的值,需要通过引用来获取。

点评

https://chat2.jinshutuan.com/  发表于 2023-6-1 13:55
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-6-1 13:59:17 | 显示全部楼层
本帖最后由 lzb1001 于 2023-6-1 15:58 编辑

感谢大神的指点

就是说:

列表、元组、字典属于容器类型,因为容器类型保存的是它们组合在一起的内存地址,所以是可变类型,但其中的元组属于特例,它和整数、字符串等属于不可变类型,保存的直接是它们的值

这样理解包括下面这张表对吗?

微信截图_20230601155805.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-27 09:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表