Python: использование отражения для вызова членов класса из имени класса - PullRequest
0 голосов
/ 26 февраля 2012

Если предположить, что у меня есть имя класса в виде строки, как я могу использовать отражение, чтобы вызвать его статический член, известный ранее? Некоторым нравится это:

someInspectionMechanism("FooClass").staticMethod()

1 Ответ

1 голос
/ 26 февраля 2012

Используйте locals() или globals(), чтобы получить словарь пространства имен, и найдите класс с нужным именем. Тот факт, что вы используете статический метод, не имеет значения.

Пример:

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

assert locals()['Test'].method() == 'called static method'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...