如果假设我有一个类名作为字符串,我如何使用反射来调用其前面已知的静态成员?有人喜欢这样:
someInspectionMechanism("FooClass").staticMethod()
答案 0 :(得分:1)
使用locals()
或globals()
获取命名空间字典,并查找具有所需名称的类。您使用静态方法的事实并不重要。
示例:
class Test:
@staticmethod
def method():
return 'called static method'
assert locals()['Test'].method() == 'called static method'