Python 为什么可以';我是否使用inspect.getsource()查看列表的源代码?

Python 为什么可以';我是否使用inspect.getsource()查看列表的源代码?,python,list,introspection,python-internals,Python,List,Introspection,Python Internals,我试图使用模块检索列表类的源代码,但没有成功: >>> import inspect >>> inspect.getsource(list) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/inspect.py", line 701, in getsource lines, lnum =

我试图使用模块检索
列表
类的源代码,但没有成功:

>>> import inspect
>>> inspect.getsource(list)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/inspect.py", line 701, in getsource
    lines, lnum = getsourcelines(object)
File "/usr/lib/python2.7/inspect.py", line 690, in getsourcelines
    lines, lnum = findsource(object)
File "/usr/lib/python2.7/inspect.py", line 526, in findsource
    file = getfile(object)
File "/usr/lib/python2.7/inspect.py", line 408, in getfile
    raise TypeError('{!r} is a built-in class'.format(object))
TypeError: <module '__builtin__' (built-in)> is a built-in class
导入检查 >>>inspect.getsource(列表) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“/usr/lib/python2.7/inspect.py”,第701行,在getsource中 行,lnum=getsourcelines(对象) 文件“/usr/lib/python2.7/inspect.py”,第690行,在getsourcelines中 行,lnum=findsource(对象) 文件“/usr/lib/python2.7/inspect.py”,第526行,在findsource中 file=getfile(对象) 文件“/usr/lib/python2.7/inspect.py”,第408行,在getfile中 raise TypeError(“{!r}是内置类”。格式(对象)) TypeError:是一个内置类 我不明白这为什么不起作用——他说

如果无法检索源代码,将引发IOError

。。。但没有解释为什么会发生这种情况(而且在任何情况下,我得到的都是
TypeError
,而不是
IOError

在这种情况下,是否有其他方法可以通过编程检索对象的源代码?如果没有,我如何为自己找到源代码?

虽然我可以检索用Python编写的对象的源代码,
list
是用C编写的,因此没有可检索的Python源代码

如果您喜欢阅读C,您可以在其网站上找到Python的完整源代码。例如,各种版本的
列表
的来源可以在以下位置找到:

  • (最新开发版本)

。。。等等。

在这里试试:List和所有内置类型一样,都是用C实现的,因此您无法通过内省获得代码。