如何获取Python中所有内置函数的列表 - python

当我们从中获取关键字列表时,如何从Python提示符中获取Python中所有内置函数的列表?

python大神给出的解决方案

更新:

关于__builtins____builtin__可能会有一些混淆。
What’s New In Python 3.0建议使用builtins

将模块__builtin__重命名为builtins(删除下划线,
添加一个“ s”)。在大多数全局变量中找到的__builtins__变量
名称空间保持不变。要修改内置函数,您应该使用
builtins,而不是__builtins__

如果您使用不同的Python实现(如docs所示),则可能会很好:

作为实现细节,大多数模块的名称为__builtins__
作为其全局变量的一部分提供。 __builtins__的值为
通常是此模块或该模块的__dict__的值
属性。由于这是实现细节,因此可能无法使用
通过Python的替代实现。

您可以通过以下方式获取所有内置名称:

>>> import builtins
>>> dir(builtins)

这包括builtins中的所有内容。
如果严格只需要函数名称,请对其进行过滤:

import types

builtin_function_names = [name for name, obj in vars(builtins).items() 
                          if isinstance(obj, types.BuiltinFunctionType)]

Python 3.6中的结果列表:

['__build_class__',
 '__import__',
 'abs',
 'all',
 'any',
 'ascii',
 'bin',
 'callable',
 'chr',
 'compile',
 'delattr',
 'dir',
 'divmod',
 'eval',
 'exec',
 'format',
 'getattr',
 'globals',
 'hasattr',
 'hash',
 'hex',
 'id',
 'isinstance',
 'issubclass',
 'iter',
 'len',
 'locals',
 'max',
 'min',
 'next',
 'oct',
 'ord',
 'pow',
 'print',
 'repr',
 'round',
 'setattr',
 'sorted',
 'sum',
 'vars',
 'open']

如果需要函数对象,只需通过从字典中选择'obj'来稍微更改代码即可:

builtin_functions = [obj for name, obj in vars(builtins).items() 
                     if isinstance(obj, types.BuiltinFunctionType)]

45码