Использование строки для вызова функции в Python [duplicate]

На этот вопрос уже есть ответ:

Несколько дней назад я искал в сети и нашел интересную статью о словарях Python. Речь шла об использовании клавиш в словаре для вызова функции. В этой статье автор определил несколько функций, а затем словарь с ключом, точно таким же, как имя функции. Затем он мог получить входной параметр от пользователя и вызвать тот же метод (что-то вроде реализации разрыва регистра) После этого я понял примерно то же самое, но как-то иначе. Я хочу знать, как я могу это реализовать. Если у меня есть функция:

def fullName( name = "noName", family = "noFamily" ):
    return name += family

А теперь, если у меня есть такая строка:

myString = "fullName( name = 'Joe', family = 'Brand' )"

Есть ли способ выполнить этот запрос и получить результат: JoeBrand
Например, я помню, что мы могли передать строку в оператор exec (), и он сделает это за нас. Но я не уверен в этом особом случае, а также не знаю, как эффективно использовать Python. И также я буду очень благодарен, чтобы помочь мне, как обрабатывать возвращаемое значение этой функции, например, в моем случае, как я могу напечатать полное имя, возвращаемое этой функцией?

22
задан user435245 8 November 2010 в 22:49
поделиться