如何在Python中的mixin中调用封闭类的超级?

如何在Python中的mixin中调用封闭类的超级?,第1张

概述我在Django中有以下代码: class Parent(models.Model): def save(self): # Do Stuff Aclass Mixin(object): def save(self): # Do Stuff Bclass A(Parent, Mixin): def save(self): 我在Django中有以下代码:
class Parent(models.Model):    def save(self):        # Do Stuff Aclass Mixin(object):    def save(self):        # Do Stuff Bclass A(Parent,Mixin):    def save(self):        super(A,self).save()        # Do stuff C

现在,我想使用mixin而不在父级中剔除保存的行为.因此,当我保存时,我想要做C,B和A的东西.我读过Calling the setter of a super class in a mixin然而我没有得到它并且阅读了超级文档它似乎没有回答我的问题.

问题是,我应该在mixin中加入什么来确保它能够完成B并且不会阻止Stuff A发生?

解决方法 如何在你的mixin课程中调用super?
class Parent(object):    def test(self):        print("parent")class MyMixin(object):    def test(self):        super(MyMixin,self).test()        print("mixin")class MyClass(MyMixin,Parent):    def test(self):        super(MyClass,self).test()        print("self")if __name__ == "__main__":    my_obj = MyClass()    my_obj.test()

这将为您提供输出:

$python test.pyparentmixinself
总结

以上是内存溢出为你收集整理的如何在Python中的mixin中调用封闭类的超级?全部内容,希望文章能够帮你解决如何在Python中的mixin中调用封闭类的超级?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1207232.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存