Начиная с классом, как это:Как вызвать статический метод класса, используя имя метода и имя класса
class FooClass(object):
@staticmethod
def static_method(x):
print x
нормально, я бы вызвать статический метод класса с:
FooClass.static_method('bar')
Можно ли вызвать этот статический метод, имея только имя класса и имя метода?
class_name = 'FooClass'
method_name = 'static_method'
Возможно? Да. Хорошая идея? Нет. Используйте только тогда, когда вам абсолютно необходимо. – delnan
@ delnan, пожалуйста, не могли бы вы объяснить, почему? – systempuntoout
По той же причине eval, exec, отражение в Java /.NET и аналогичные функции неодобрились: Потенциально сложнее отлаживать, более подвержены ошибкам и дырам в безопасности, медленнее и на вершине всего этого, это редко бывает проще или более изящным решением (совсем наоборот, часто сложнее добиться такого подхода чем делать это должным образом), не говоря уже о необходимости. – delnan