我想要一个__init__()只在基类中运行但不在子类中运行的方法。
鉴于这里的代码:
class base:
def __init__(self):
print('Only print this if I am base')
class ext(base):
...
foo = ext()
我得到以下结果:
Only print this if I am base
我不是,所以这不是我想要的。
解决方案可能只是一个更好的架构。显然ext不是真正的扩展,base因为base做不做的事情ext。
也许双继承是解决方案。让基i_print_an_init_message类继承自类并将其__init__()放在那里。虽然这似乎有点矫枉过正。
还要检查班级的名称以查看名称是否base看起来很笨拙。
或者,也许我只是在 init 中有一个默认为False.
有没有什么特别的pythonic方式来做到这一点?
(请假设我已经回答了所有“你为什么要这样做?”的评论。谢谢!)
皈依舞
幕布斯6054654
相关分类