我想将一个类的所有方法添加到列表中,以便可以使用它们从该列表中调用这些方法。我试过了
inspect.getmembers(class)
,但我不知道如何使用它来调用函数或子类
答案 0 :(得分:1)
假设您有Abc
班:
class Abc:
def user_function(arg):
print(arg)
您可以使用dir(Abc)
获取所有方法。通过调用它,您还将获得魔术方法(__init__
,__str__
等)。因此您可以像这样过滤它:
methods_names = [method for method in dir(Abc) if not method.startswith('__')]
如果要调用它,可以使用getattr
:
first_method = getattr(Abc, methods_names[0])
请注意,first_method
将包含两个参数:self
和arg
,其中self
可以是Abc
类的实例。
所以:
instance = Abc()
first_method(instance, 'Hello world')