我試圖得到一個(gè)類中所有函數(shù)的列表,然后遍歷它們,這樣它們就都可以執(zhí)行,而不必鍵入每個(gè)函數(shù)。例如:
class Foo:
def foo(self):
print('foo')
def bar(self):
print('bar')
然后在另一個(gè)文件中
import Foo
import inspect
newfoo = Foo()
functions = [f for f in inspect.getmembers(Foo, predicate=inspect.isfunction)]
for f in functions:
newfoo.f[1]()
我希望得到:
foo
bar
但這會(huì)產(chǎn)生錯(cuò)誤
AttributeError: 'Foo' object has no attribute 'f'
有沒有什么辦法?提前謝謝。
您可以使用
getattr
按名稱調(diào)用類方法。code:
result: