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

python列表中的元素存储在哪里?,python,python-3.x,list,Python,Python 3.x,List,以这个对象为例: 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])只列出在列表中实现的函数。\uuu

以这个对象为例:

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])
只列出在列表中实现的函数。
\uuu getitem\uuu
从何处获取列表中的项目?

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


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

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


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

您认为
var([])
抛出错误是正确的,但不是因为您认为的原因:
名称错误:未定义名称“var”
。您可能的意思是:
vars([])
throws
TypeError:vars()参数必须具有
属性。另外,不要在没有说明是哪一个错误的情况下就说你遇到了错误。你认为
var([])
抛出错误是正确的,但不是因为你认为的原因:
NameError:name'var'没有定义
。您可能的意思是:
vars([])
throws
TypeError:vars()参数必须具有
属性。另外,不要说你犯了错误而不说是哪一个。