python – 在mixin中初始化实例变量
发布时间:2020-12-16 21:51:33 所属栏目:Python 来源:网络整理
导读:我想使用mixin为类提供一些功能.该功能使用一些额外的每对象状态.我想知道什么是最简洁的初始化本地状态的方法.考虑这个例子: class Mixin: items = [] def append(self,x): self.items.append(x) def display(self): print self.itemsclass Foo(object,Mix
我想使用mixin为类提供一些功能.该功能使用一些额外的每对象状态.我想知道什么是最简洁的初始化本地状态的方法.考虑这个例子:
这里,状态是项目列表.在Mixin体中初始化它显然是错误的.通常情况下,我会在__init__中初始化它,但是对于Mixin,我不想弄乱__init__. 我可以做以下事情:
但是对每个附加物评估条件,它似乎不是最干净的解决方案. 任何替代品?或者可能在mixin中添加__init__是这样的? (如果使用mixins是否可以,这是一个单独的问题) 有关: > Initializing instance variables in Mixins for Ruby 最佳答案
我建议把它放在Mixin的__init __()中.您认为缺点是什么?
我认为这是正确的做法;所有其他(可能正在工作)的解决方案看起来像是对我的黑客攻击. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |