Python:使用反射从类名调用类成员

时间:2012-02-26 15:30:40

标签: python reflection

如果假设我有一个类名作为字符串,我如何使用反射来调用其前面已知的静态成员?有人喜欢这样:

someInspectionMechanism("FooClass").staticMethod()

1 个答案:

答案 0 :(得分:1)

使用locals()globals()获取命名空间字典,并查找具有所需名称的类。您使用静态方法的事实并不重要。

示例:

class Test:
    @staticmethod
    def method():
        return 'called static method'

assert locals()['Test'].method() == 'called static method'