我有一个带有一些内置方法的类。这是该类的抽象示例:
class Foo:
def __init__(self):
self.a = 0
self.b = 0
def addOneToA(self):
self.a += 1
def addOneToB(self):
self.b += 1
Run Code Online (Sandbox Code Playgroud)
为简单起见,我将内置方法总数减少到 2 个,但实际上我的类有接近 20 个。
接下来,我有另一个类,旨在处理Foo实例列表。
class Bar:
def __init__(self, fooInstances):
self.fooInstances = fooInstances
# Bar([Foo(), Foo(), Foo()])
Run Code Online (Sandbox Code Playgroud)
如果我想将其中一种Foo方法应用于 中的Foo实例Bar怎么办?
class Bar:
# ...
def addOneToA(self):
for fooInstance in self.fooInstances:
fooInstance.addOneToA()
def addOneToB(self):
for fooInstance in self.fooInstances:
fooInstance.addOneToB()
Run Code Online (Sandbox Code Playgroud)
上面的例子是我描述的一种方法,但是如果有 20 个Foo. 或者,我可以做这样的事情:
class Bar:
# ...
def applyFooMethod(self, func, …Run Code Online (Sandbox Code Playgroud)