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

如何优化Python代码:调用greet时自动执行hello并遵循DRY原则

消除重复代码的解决方案

直接用模板方法模式就能搞定,核心思路是把所有子类都要执行的通用逻辑(调用hello())抽到父类Base里,子类只需要实现各自独有的问候内容就行,完美符合DRY原则:

修改后的代码如下:

class Base:
    def hello(self):
        print('hello')
    
    def greet(self):
        # 父类统一处理固定流程:先打招呼
        self.hello()
        # 交给子类实现具体的问候语
        self._greet_message()

class A(Base):
    def _greet_message(self):
        print('how are you?')

class B(Base):
    def _greet_message(self):
        print('how are you doing?')

说明

  • 现在调用A()或B()实例的greet()方法时,会自动先执行Base里的hello(),再执行子类的专属问候内容,完全去掉了重复的self.hello()代码。
  • 父类的greet()作为模板方法,固定了执行流程,子类只需要专注实现自己的差异化逻辑,后续新增子类也只需要实现_greet_message()即可,维护性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 06:10:58