列出Python内置的函数和方法

3
我想到了这个方案:
[a for a in dir(__builtins__) if str(type(getattr(__builtins__,a))) == "<type 'builtin_function_or_method'>"]

我知道这很丑陋。你能给我展示一个更好/更符合Python风格的方法吗?
2个回答

6

有一个inspect模块

import inspect

filter(inspect.isbuiltin, (member for name, member in inspect.getmembers(__builtins__)))

编辑:仔细阅读文档后,我想到了这个变体,它不使用__getattr__

import inspect

members = (member for name, member in inspect.getmembers(__builtins__))
filter(inspect.isbuiltin, members)

2

这是一个不使用getattr的变体:

import inspect
[n.__name__ for n in __builtins__.__dict__.values() if inspect.isbuiltin(n)]

如果您需要实际的函数指针:

import inspect
[n for n in __builtins__.__dict__.values() if inspect.isbuiltin(n)]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接