【发布时间】:2021-09-19 04:57:17
【问题描述】:
我有这段代码,即使我指定了super(admin_base, self).test() 方法,它也会从 parent_model_admin 类中打印“1”,我如何在 admin_base 中打印“2”但在管理类中?
class theme():
pass
class parent_model_admin():
def test(self):
print("1")
pass
pass
class admin_base(theme,parent_model_admin):
def test(self):
print("2")
pass
pass
class user(parent_model_admin):
def test(self):
print("3")
pass
pass
class admin(user, admin_base):
def test(self):
super(admin_base, self).test()
pass
pass
hai = admin()
hai.test()
【问题讨论】:
-
如果我的理解是正确的,为什么不在
admin类中使用print("3")? -
这里的问题称为方法解析顺序 (MRO)。有关其工作原理的详细信息,请参阅重复问题的答案。
标签: python python-3.x