如何获取Python中所有内置函数的列表?

 我的小名-_164 发布于 2023-02-09 15:27

我正在尝试整理一个如何获取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搜索都让我失望了.

我正在寻找一种可证明且可重复的实验教学方法.谢谢!

1 个回答
  • import __builtin__
    import inspect
    
    [name for name, function in sorted(vars(__builtin__).items())
     if inspect.isbuiltin(function) or inspect.isfunction(function)]
    

    文档中还有列表.

    2023-02-09 15:30 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有