You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用getattr()访问Python内置函数?

该需求完全可以实现

你示例中getattr的第一个参数填写Python标准库的builtins模块即可,正确写法如下:

import builtins
getattr(builtins, 'abs')

运行验证示例:

abs_func = getattr(builtins, 'abs')
print(abs_func(-45))  # 输出结果:45

补充说明

  • 如果你不想显式导入builtins模块,也可以直接使用Python默认暴露的全局对象__builtins__,写法为getattr(__builtins__, 'abs'),不过更推荐显式导入builtins的写法,可读性和规范性更强。
  • 我们平时可以直接调用abs这类内置函数,是因为Python解释器启动时会自动把builtins模块里的所有内置对象加载到全局作用域,不需要手动导入就可以直接使用,当你拿到的函数名是字符串格式时,只需要从它的定义来源builtins模块中取对应名称的对象即可。
  • 如果不确定字符串对应的内置函数是否存在,可以给getattr传入第三个参数作为默认返回值,避免抛出属性不存在的异常:
    func = getattr(builtins, 'xxx_not_exist', None)
    # 如果函数不存在,func会是None,可自行做后续逻辑判断
    

内容的提问来源于stack exchange,提问作者Phylosopher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:21:00