我正在尝试整理一个如何获取Python中所有内置函数列表的规范示例.文档很好,但我想用可证明的方法来证明它.
在这里,我实际上将内置函数定义为默认命名空间的成员,这些成员可以使用,并且与用于模块的函数的样式特征一致,即:它们提供了一些有用的功能并开始用小写字母表示.
我在这里做的好处是,我正在展示列表推导的过滤器部分,但它似乎有点肮脏的黑客,并且应该有更直接的方式来做到这一点.这是我到目前为止所做的事情:
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','coerce','compile','complex','copyright','credits','delattr','dict','dir','divmod','enumerate','eval' ,'execfile','exit','file','filter','float','format','frozenset','getattr','globals','hasattr','hash','help',' hex','id','input','int','intern','isinstance','issubclass','iter','len','license','list','locals','long' ,'map','max','memoryview','min','next','object','oct','open','ord','pow','print','property',' quit','range','raw_input','reduce','reload','repr','reverse','round','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函数?到目前为止,Google和stackoverflow搜索都让我失望了.
我正在寻找一种可证明且可重复的实验教学方法.谢谢!
import __builtin__ import inspect [name for name, function in sorted(vars(__builtin__).items()) if inspect.isbuiltin(function) or inspect.isfunction(function)]
文档中还有列表.