Подтвердить что ты не робот

Как запустить функцию getattr в python с дополнительными параметрами?

Я хочу вызвать некоторую неизвестную функцию с добавлением параметров с помощью функции getattr. Возможно ли это?

4b9b3361

Ответ 1

Да, но вы не передаете их getattr(); вы вызываете функцию как обычно, как только вы ссылаетесь на нее.

getattr(obj, 'func')('foo', 'bar', 42)

Ответ 2

Если вы хотите вызвать динамический метод с динамическим списком аргументов/аргументов ключевого слова, вы можете сделать следующее:

function_name = 'wibble'
args = ['flip', 'do']
kwargs = {'foo':'bar'}

getattr(obj, function_name)(*args, **kwargs)