最佳答案
inspect.isbuiltin
只会
Return true if the object is a built-in function or method.
map
内置是一个类,而不是函数或方法:>>> map
<class 'map'>
事实上,大多数返回迭代器的“内置函数”都是作为类实现的;调用它们会返回优化的实例,而不是重新使用一些通用的迭代器类。>>> zip # zip iterator "function" is also a class
<class 'zip'>
>>> map(str, (1, 2, 34)) # map builds instances of map
<map object at 0x103fa34f0>
另外,请记住,术语“内置”在 Python 中有两个含义:
builtins
module 的成员,在每个模块中都可用。 虽然大多数
builtins
是为了速度而编译的,但这不是必需的。如果要检查名称是否是
builtins
的一部分,请通过模块进行:>>> import builtins
>>> hasattr(builtins, "map")
True
>>> hasattr(builtins, "sum")
True
>>> hasattr(builtins, "reduce")
False
关于python - 为什么 inspect() 认为 map 不是内置的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68253286/