我是python的新手,所以这可能是一个显而易见的问题,但我到处搜索(包括文档),我似乎无法在python中获取内置函数的代码对象。例如,在我的PyCharm编辑器中,当我键入此代码时,它不会检测到任何错误:
print(getattr.__code__)
但是当我运行它时,它会产生一个AttributeError:
AttributeError: 'builtin_function_or_method' object has no attribute '__code__'
有没有理由为什么python中的内置函数没有代码对象,这是我的IDE中的错误吗?
我使用的是Python 3。
答案 0 :(得分:4)
内置函数没有代码对象,因为它们是用C实现的,而不是用Python实现的。只有Python函数才有代码对象,因为代码对象是Python字节码编译的。 Exploring Python Code Objects是对代码对象的一个很好的解释。