容器类型的值保存的是它们组合在一起的内存地址,那什么保存的是里面的实际值呢?
尽管Python没有给我们提供指针类型以及获取指针的方法,但是指针类型表示的引用这个概念在python中还是存在的,就是上面说到的列表、元组、字典等容器类型,这些容器类型的值保存的不是里面的实际值,而是它们组合在一起的内存地址从上面这句话可知:
---列表、元组、字典等容器类型,这些容器类型的值保存的是它们组合在一起的内存地址
---……的值保存的是里面的实际值? 容器类型的值保存的是它们组合在一起的内存地址,而不是里面的实际值。这是因为这些容器类型是可变类型,其内部元素可以随时改变,因此将其保存为内存地址可以更好地管理和维护这些元素。如果希望获取容器类型中的具体值,需要使用索引、键等方法来访问容器中的元素,并通过这些方法来获取它们的实际值。
不过,元组是个例外。它是不可变类型,其内部元素一旦创建就不能被修改,因此Python会将元组的实际值直接保存在元组的对象中,而不是像可变类型那样保存它们的内存地址。因此,如果要访问元组中的具体值,可以通过索引来获取它们。与元组不同,列表和字典是可变类型,它们的值保存的是它们组合在一起的内存地址。感谢您的指正,希望我的回答对您有所帮助。 在Python中,虽然没有像C语言那样直接支持指针类型的机制,但是列表、元组、字典等容器类型确实可以看作是指针类型的抽象,它们内部存储的是引用(reference),也就是对象在内存中的地址,而不是对象本身的值。因此,我们可以通过容器类型对象的引用来访问它们所包含的真实值,这种“通过引用来获取值”的机制和指针类似,但是隐藏了底层内存管理的复杂性。
所以,上面的说法应该是:
---列表、元组、字典等容器类型,这些容器类型的值保存的是它们所包含的对象的引用,也就是对象在内存中的地址
---……的值并没有保存在容器类型中。要访问容器中的值,需要通过引用来获取。 本帖最后由 lzb1001 于 2023-6-1 15:58 编辑
感谢大神的指点
就是说:
列表、元组、字典属于容器类型,因为容器类型保存的是它们组合在一起的内存地址,所以是可变类型,但其中的元组属于特例,它和整数、字符串等属于不可变类型,保存的直接是它们的值
这样理解包括下面这张表对吗?
页:
[1]