如何从字符串(Python3)创建函数



大家好。

我的程序应该通过stdin特定格式的命令来获取命令,例如:

"define f1 3 + 5"

通过获取此命令,我的程序应该创建一个名为"f1"的函数,该函数将返回操作"3+5"。

我怎样才能实现它?

您应该使用字典来存储具有给定名称的函数。通常,不应从字符串创建函数名称。

可以使用ast.literal_eval安全地计算以字符串形式提供的计算。

下面是一个例子:

from ast import literal_eval
mystr = input('Enter a calculation:n')
# 'define f1 3 + 5'
_, name, calc = mystr.split(None, 2)
d = {name: literal_eval(calc)}
print(d['f1'])  # 8

最新更新