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

如何让自定义Python函数支持调用后访问.text这类属性

实现方法

核心原理很简单:让你的函数返回一个自定义类的实例,你需要的.variable这类属性,直接在类里定义就可以。requests.get返回的也是官方封装的Response类实例,.text就是这个类自带的属性。

基础实现示例

# 第一步:定义自定义结果类,把需要对外暴露的属性都声明在类中
class CustomResponse:
    def __init__(self, content, code):
        # 你可以在这里添加任意需要的属性
        self.text = content
        self.status_code = code
        self.content_length = len(content)

# 第二步:编写你的业务函数,最终返回上面这个类的实例即可
def your_func(query_param):
    # 这里写你的业务逻辑,比如计算、请求、数据处理等
    result_content = f"你传入的参数是:{query_param},这是处理后的结果"
    result_code = 200
    # 返回自定义类的实例
    return CustomResponse(result_content, result_code)

调用效果和requests的用法完全一致:

# 可以链式直接访问属性
print(your_func("test").text)
# 也可以先存变量再调用
res = your_func("demo")
print(res.status_code)
print(res.content_length)

轻量场景简化实现

如果属性不多、不需要额外自定义方法,也可以直接用Python标准库的SimpleNamespace省去写类的步骤:

import types

def your_func(query_param):
    content = f"处理后的结果,参数为{query_param}"
    return types.SimpleNamespace(
        text = content,
        status_code = 200,
        content_length = len(content)
    )

# 调用方式完全一致
print(your_func("test").text)

注意事项

  • 不要直接返回字符串、数字这类基础类型,原生基础类型不支持新增自定义属性,强行赋值会报错
  • 如果需要支持foo().some_func()这类链式方法调用,直接在自定义类中定义对应方法即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:15:07