Преобразование строк в код - PullRequest
0 голосов
/ 04 июня 2018

Это вопрос программирования для Python 3.5

Скажем, у меня есть строка s, которую я определяю как

s = "a + b"

, и у меня есть некоторые переменные

a = 1

b = 2

Как я могу сделать функцию из строки, которая использует переменные a и b?s - это то, что вы можете произвольно ввести в качестве строкового ввода.

def f1(s):

    ???Code???

    return a + b

или

s = "a*b"

def f2(s):

   ???Code???

   return a*b

Включает ли это символическое программирование?Это вообще возможно?

1 Ответ

0 голосов
/ 04 июня 2018

Вы можете использовать функцию eval.
https://docs.python.org/3/library/functions.html#eval

Пример:

a = 2
b = 5
eval('a+b') # 7 
...