擅长:python、mysql、java
<p>您可以实现<code>__getattr__</code>,并将调用委托给<code>foos</code>列表。我相信有一种更优雅的方法:</p>
<pre><code>class foo:
def f1(self):
print('f1')
def f2(self):
print('f2')
class bar:
def __init__(self):
self.foos = [foo() for _ in range(3)]
def __getattr__(self, fn):
def fns(*args, **kwargs):
for f in self.foos:
getattr(f, fn)(*args, **kwargs)
return fns
In []:
b = bar()
b.f1()
Out[]
f1
f1
f1
In []:
b.f2()
Out[]:
f2
f2
f2
</code></pre>