您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

5b51 2022/1/14 8:23:01 python 字数 1923 阅读 598 来源 www.jb51.cc/python

我在Django中有以下代码: class Parent(models.Model): def save(self): # Do Stuff A class Mixin(object): def save(self): # Do Stuff B class A(Parent, Mixin): def save(self):

概述

class Parent(models.Model):
    def save(self):
        # Do Stuff A

class Mixin(object):
    def save(self):
        # Do Stuff B

class 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发生?

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.py
parent
mixin
self

总结

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


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶