0
class a:
    def fun1(self):
        print 'inside a'
class b(a):
    def fun1(self):
        print 'inside b'

class c(a):
    def fun1(self):
        print 'inside c'
class d(b,c):
    pass

ob=d()
d.fun1()

上面的代码将根据 MRO 打印 'inside b'。有没有办法使用 d 的对象从类 C 调用函数?

4

2 回答 2

1

以下对我有用。

 ob=d()
 c.fun1(ob)  # class_name.function_name(obj reference)

输出:c内

于 2015-07-27T11:21:35.880 回答
0

正如其他人指出的那样,这是一个坏主意,也是一种不好的做法。

也就是说,实现这一目标的方法是:

class d(b,c):
    def fun1(self):
        # d uses c's fun1() instead of b's
        return c.fun1(self)
于 2015-08-06T17:42:46.900 回答