getattr()做什么以及如何动态调用函数(Python)

时间:2018-04-25 12:54:56

标签: python

我知道这是重复但我不理解以前的答案,所以无论如何我都在尝试。

我需要从不同的类中调用不同的函数,所有函数都具有相同的名称。

所以我想说的是:

names = ["classA", "classB"]
for a in names:
    value = a.function()

我怎样才能轻松完成这项工作? 我不明白getattr()的作用以及它如何帮助我解决问题。

PS - 我不是母语为英语的人,所以请尽可能简单地解释我

1 个答案:

答案 0 :(得分:1)

要专门解决您的问题,您必须实例化该类然后调用该函数,不需要使用getattr

names = [ClassA, ClassB] # no quotes here, just the class reference
for name in names:
    name().method()

如果类具有相同的方法名称,则可以使用。