Skip to main content
 首页 » 编程设计

python之python 列表中的元素存储在哪里

2025年05月04日23开发

以这个例子对象为例:

class myObj: 
 
    def __init__(self): 
        self.a = 1 
        self.b = 2 
        self.c = 3 
a = myObj() 

我可以使用 vars(a) 我会得到 {'a': 1, 'b': 2, 'c': 3} 或 dir(a) 获取属性列表加上a中的所有函数。我可以看到存储在 a 中的所有内容。

但是,有了列表,情况就不同了。 var([]) 抛出错误,dir([1, 2, 3]) 只列出列表中实现的函数。 __getitem__ 从哪里获取列表中的项目?

请您参考如下方法:

在典型的 Python 发行版(称为 CPython)中,列表等内置类型是用 C 而不是 Python 实现的。毕竟不能一路往下都是Python!这意味着内部运作是隐藏的,没有属性会揭示它们。

类似地,您会发现 inspect.getsource([].__getitem__) 不起作用。