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
相关产品推荐
相关产品推荐

