在Python中如何调用子类对象的unbound方法

2024-03-28 13:33:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python2.7中有以下类:

class Parent():
    def some_method(self):
        do_something()

class Child(Parent):
    def some_method(self):
        do_something_different()

假设我有一堆要运行some_method的对象。我执行以下行(前两行是为了这个示例):

^{2}$

是否存在这样的构造:在最后一行中,调用do_something_different(),而不使用任何关于Child的信息(因为我可能有很多这样的类继承自Parent)?在


Tags: 对象self信息child示例defsomedo
1条回答
网友
1楼 · 发布于 2024-03-28 13:33:35

不要使用未绑定的方法对象,请使用operator.methodcaller

import operator

m = operator.methodcaller('some_method')

m(c)

这将查找对象的实际some_method方法并调用它。它比较贵,但额外的时间都花在做你需要的事情上。在

相关问题 更多 >