如何在Python中获取所有内置函数的列表[duplicate]

hec6srdp  于 2023-01-03  发布在  Python
关注(0)|答案(2)|浏览(135)
    • 此问题在此处已有答案**:

Is the list of Python reserved words and builtins available in a library?(1个答案)
4个月前关闭。
如何从Python提示符/命令行获得Python中所有内置函数的列表,就像我们从它那里获得关键字列表一样?

qcuzuvrc

qcuzuvrc1#

更新:
可能会对__builtins____builtin__产生一些混淆。What’s New In Python 3.0建议使用builtins
将模块__builtin__重命名为builtins(删除下划线,添加一个"s")。在大多数全局名称空间中找到的__builtins__变量没有改变。要修改内置函数,应该使用builtins,而不是__builtins__!
如果你使用不同的Python实现,这可能会很好,正如文档所指出的:
作为一个实现细节,大多数模块的名称__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)]
r1wp621o

r1wp621o2#

>>> for e in __builtins__.__dict__:
...     print(e)
...

__name__
__doc__
__package__
__loader__
__spec__
__build_class__
__import__
abs
all
any
ascii
bin
callable
chr
compile
delattr
dir
divmod
eval
exec
format
getattr
globals
hasattr
hash
hex
id
input
isinstance
issubclass
iter
len
locals
max
min
next
oct
ord
pow
print
repr
round
setattr
sorted
sum
vars
None
Ellipsis
NotImplemented
False
True
bool
memoryview
bytearray
bytes
classmethod
complex
dict
enumerate
filter
float
frozenset
property
int
list
map
object
range
reversed
set
slice
staticmethod
str
super
tuple
type
zip
__debug__
BaseException
Exception
TypeError
StopAsyncIteration
StopIteration
GeneratorExit
SystemExit
KeyboardInterrupt
ImportError
ModuleNotFoundError
OSError
EnvironmentError
IOError
WindowsError
EOFError
RuntimeError
RecursionError
NotImplementedError
NameError
UnboundLocalError
AttributeError
SyntaxError
IndentationError
TabError
LookupError
IndexError
KeyError
ValueError
UnicodeError
UnicodeEncodeError
UnicodeDecodeError
UnicodeTranslateError
AssertionError
ArithmeticError
FloatingPointError
OverflowError
ZeroDivisionError
SystemError
ReferenceError
BufferError
MemoryError
Warning
UserWarning
DeprecationWarning
PendingDeprecationWarning
SyntaxWarning
RuntimeWarning
FutureWarning
ImportWarning
UnicodeWarning
BytesWarning
ResourceWarning
ConnectionError
BlockingIOError
BrokenPipeError
ChildProcessError
ConnectionAbortedError
ConnectionRefusedError
ConnectionResetError
FileExistsError
FileNotFoundError
IsADirectoryError
NotADirectoryError
InterruptedError
PermissionError
ProcessLookupError
TimeoutError
open
quit
exit
copyright
credits
license
help

相关问题