我正在尝试整理一个关于如何获取 Python 中所有内置函数的列表的规范示例。该文档很好,但我想用可证明的方法来演示它。
在这里,我本质上将内置函数定义为默认命名空间的成员,这些成员可用且与旨在在模块中使用的函数的风格特征一致,即:它们提供一些有用的功能并开始带有一个小写字母。
我在这里所做的好处是我正在演示列表推导式的过滤器部分,但这似乎有点肮脏,并且应该有一种更直接的方法来做到这一点。这是我到目前为止正在做的事情:
import string
alc = string.ascii_lowercase
bif = [i for i in dir(__builtins__) if
any(i.startswith(j) for j in alc)]
这给了我:
['abs'、'全部'、'任何'、'应用'、'basestring'、'bin'、'bool'、'缓冲区'、
'bytearray', '字节', '可调用', 'chr', 'classmethod', 'cmp',
'强制'、'编译'、'复杂'、'版权'、'学分'、'delattr'、
'dict'、'dir'、'divmod'、'枚举'、'eval'、'execfile'、'退出'、
'文件'、'过滤器'、'浮动'、'格式'、'frozenset'、'getattr'、
'全局'、'hasattr'、'哈希'、'帮助'、'十六进制'、'id'、'输入'、'int'、
'实习生','isinstance','issubclass','iter','len','许可证',
'列表','本地','长','地图','最大','内存视图','分钟','下一个',
'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit',
'范围','raw_input','减少','重新加载','repr','反转','圆形',
'set', 'setattr', '切片', '排序', 'staticmethod', 'str', 'sum',
'超级','元组','类型','unichr','unicode','vars','xrange',
'压缩']
我相信它们都是可调用的,就像这样:
bi2 = [i for i in dir(__builtins__) if
any(i.startswith(j) for j in alc)
and callable(getattr(__builtins__, i, None))]
set(bif).symmetric_difference(bi2)
I get:
set([])
那么有没有更好的方法来列出Python内置函数呢?到目前为止,谷歌和 stackoverflow 搜索都让我失败。
我正在寻找一种可证明且可重复的实验教学方法。谢谢!