清单如何在python中实现为异类?

时间:2019-06-10 06:25:46

标签: python list compiler-construction

如何将列表实现为异构的?我知道列表是指向所需元素的内存位置的动态指针数组,但是当索引所指向的元素大小不同时,这如何工作?

指针所指向的位置是否包含有关此位置所持类型的信息,如果是,则如何格式化,使用和返回该类型的信息?

我了解[1,2,3]在内存中的外观,但不了解[1,2,“ abcdefg”]在内存中的外观。

2 个答案:

答案 0 :(得分:1)

一切都是python中的对象:正如您提到的,列表是指向列表中所包含对象的内存位置的“指针”的集合。

作为对象,它们每个都知道其类型,属性,属性等。
因此,它们不能超出其自身的内存边界,并且python解释器会隐式地保留/统计指向它们的指针的数量。

答案 1 :(得分:0)

从技术角度(即如何实现这种方式),查找C语言中的抽象数据类型(ADT)概念,例如here