列出内置函数和方法(Python)

3 python module introspection inspect

我想出了这个:

[a for a in dir(__builtins__) if str(type(getattr(__builtins__,a))) == "<type 'builtin_function_or_method'>"]
Run Code Online (Sandbox Code Playgroud)

我知道它的丑陋.你能告诉我一个更好/更pythonic的方式吗?

Ott*_*ger 6

inspect模块:

import inspect

filter(inspect.isbuiltin, (member for name, member in inspect.getmembers(__builtins__)))
Run Code Online (Sandbox Code Playgroud)

编辑:仔细阅读文档,我想出了这个不使用的变种 __getattr__

import inspect

members = (member for name, member in inspect.getmembers(__builtins__))
filter(inspect.isbuiltin, members)
Run Code Online (Sandbox Code Playgroud)