class A(object):
def print_some(self):
print 'a'
class B(object):
def print_some(self):
print 'b'
class C(A, B):
pass
c = C()
print c.print_some()
'a'
我对输出的期望是'b‘。我想这样做的原因是因为我想覆盖一些方法,比如说django中的CreateView
的form_valid
,简单地通过继承我编写的包含自定义form_valid
的类,或者有更好的方法?
发布于 2012-12-20 10:45:01
A
类是class C(A, B)
指令中的第一个(左)类,因此您将从中获取print_some
方法(A
类)。阅读here。
发布于 2012-12-20 12:01:56
从你的问题看,我希望你能改变B和C的继承,不是吗?所以你为什么不像这样建立一个继承
A <- B <- C
或者在代码中:
class A(object):
....
class B(A):
...
class C(B):
...
这将为您提供所需的输出。
https://stackoverflow.com/questions/13970304
复制