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

Python类是否有类似__repr__的方法?链式调用类需自定义表示

实现可链式调用的乘积类及自定义实例表示

直接上可运行的代码,满足链式调用、无限参数、自定义显示的需求:

class Chain:
    def __init__(self, value):
        self.product = value

    def __call__(self, num):
        self.product *= num
        return self

    def __repr__(self):
        return str(self.product)

关键逻辑说明

  • 初始化方法__init__:接收第一个参数,将其作为初始乘积值保存。
  • 调用方法__call__:让类的实例具备可调用能力,每次传入新参数时,更新当前乘积并返回实例自身,以此实现链式调用。
  • 表示方法__repr__:覆盖默认的实例表示,直接返回当前乘积的字符串形式,不管是打印实例还是在交互环境中查看,都会显示最终的乘积结果。

测试示例

# 3个参数的链式调用
print(Chain(2)(3)(4))  # 输出: 24

# 更多参数的链式调用
print(Chain(5)(2)(3)(2))  # 输出: 60

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:06:27