如何获得Python中所有内置函数的列表?
我正在尝试整理一个规范的示例,说明如何获取Python中所有内置函数的列表。文档很好,但我想用可证明的方法来演示它 在这里,我将内置函数定义为默认名称空间的成员,这些成员是可用的,并且与用于模块的函数的风格特征一致,也就是说:它们提供一些有用的功能,并以字母表中的小写字母开始 我在这里做的好处是,我演示了列表理解的过滤部分,但这似乎有点肮脏,应该有一种更直接的方法来做这件事。以下是我目前正在做的事情:如何获得Python中所有内置函数的列表?,python,function,Python,Function,我正在尝试整理一个规范的示例,说明如何获取Python中所有内置函数的列表。文档很好,但我想用可证明的方法来演示它 在这里,我将内置函数定义为默认名称空间的成员,这些成员是可用的,并且与用于模块的函数的风格特征一致,也就是说:它们提供一些有用的功能,并以字母表中的小写字母开始 我在这里做的好处是,我演示了列表理解的过滤部分,但这似乎有点肮脏,应该有一种更直接的方法来做这件事。以下是我目前正在做的事情: import string alc = string.ascii_lowercase bif
import string
alc = string.ascii_lowercase
bif = [i for i in dir(__builtins__) if
any(i.startswith(j) for j in alc)]
这给了我:
['abs','all','any','apply','basestring','bin','bool','buffer',
“bytearray”、“bytes”、“callable”、“chr”、“classmethod”、“cmp”,
“强制”、“编译”、“复杂”、“版权”、“信用”、“delattr”,
“dict”、“dir”、“divmod”、“enumerate”、“eval”、“execfile”、“exit”,
“文件”、“过滤器”、“浮点”、“格式”、“冻结集”、“getattr”,
“globals”、“hasattr”、“hash”、“help”、“hex”、“id”、“input”、“int”,
‘实习生’、‘isinstance’、‘IsubClass’、‘iter’、‘len’、‘license’,
‘列表’、‘本地’、‘长’、‘地图’、‘最大’、‘记忆视图’、‘最小’、‘下一步’,
‘对象’、‘十月’、‘打开’、‘作战需求’、‘作战能力’、‘打印’、‘属性’、‘退出’,
‘范围’、‘原始输入’、‘减少’、‘重新加载’、‘报告’、‘反转’、‘圆形’,
“set”、“setattr”、“slice”、“sorted”、“staticmethod”、“str”、“sum”,
“super”、“tuple”、“type”、“unichr”、“unicode”、“vars”、“xrange”,
“zip”]
我相信他们都可以打电话,如下所示:
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)
我得到:
set([])
那么,有没有更好的方法列出内置Python函数呢?到目前为止,谷歌和stackoverflow搜索让我失望
我正在寻找一种可证明的、可重复的实验教学方法。谢谢
import __builtin__
import inspect
[name for name, function in sorted(vars(__builtin__).items())
if inspect.isbuiltin(function) or inspect.isfunction(function)]
在.中还有一个列表,为什么您需要用Python来列出它们,而不仅仅是查看?我正在演示一种规范的方法来回答这个问题,即有多少内置函数,以及如何跟踪它们以确定我是否了解它们。@AaronHall:听起来您希望在文档中列出这个列表。这是一项人工任务,而不是编码任务。差异
>>>\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu(['bytearray'、'enumerate'、'set'、'help'、'int'、'Uuu导入'、'float'、'unicode'、'memoryview'、'bool'、'quit'、'basestring'、'slice'、'complex'、'long'、'xrange'、'tuple'、'exit'、'type'、'file'、'bytes'、'buffer'、'reversed'、'object'、'dict'、'credits'、'frozenset',“属性”])
@AaronHall:其中一些是类型。list
和int
,例如。其他的是版权声明。\uuuuu import\uuuuu
出现在我的列表中,但不是你的;它是一个内置函数。如果你想要所有东西都可以调用,这是一个简单的更改,尽管它会将异常放回列表中。好的,+1代表effort,但尽管我的列表忽略了dunder导入(有趣的是,我最近使用了),它获取名称空间中所有其他可调用项,人们在使用Python时应该注意这些项。对我来说,重点是对Python的新用户具有指导意义。@AaronHall:如果您希望具有指导意义,您需要文档。这比试图找到“对新用户具有指导意义”的公式要容易得多,而且它比一张名单更有用,也更易读