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

Python技术问题:能否在子类中修改父类的类级字典?

解决方案

不用重构整个代码结构,你可以通过子类继承父类字典并局部修改的方式实现,既避免重复复制整个字典,也不会在实例化时产生冗余调用:

具体实现方式

直接在子类中创建新的类字典,通过字典解包继承父类的所有条目,再覆盖需要修改的键:

class Base:
    Dict = {'attribute_name': (0,4), 'attr_b': (10,15), 'attr_c': (20,25)}  # 示例多字段

class Sub(Base):
    # 继承父类Dict的所有条目,仅修改指定键
    Dict = {**Base.Dict, 'attribute_name': (5,10)}

为什么这个方法可行

  • 类级别的字典赋值只会在类定义时执行一次,不会在每次实例化子类时重复运行,完全没有冗余调用的问题。
  • 不需要复制父类Dict的50多个条目,只需要写出要修改的2-3个键值对即可,代码简洁且易维护。
  • 子类的Dict是独立的新字典,不会修改父类的原始Dict,避免影响其他子类或父类本身。

如果后续有多个子类需要修改不同的键,都可以用这种方式实现,每个子类只维护自己需要修改的部分即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 14:55:18