在Python中从存储的字符串中调用一个函数。

24 浏览
0 Comments

在Python中从存储的字符串中调用一个函数。

这个问题已经有了答案

使用字符串调用模块的函数

我需要的是一个东西,它可以获取变量,如果这个变量是一个函数的名称,那么就调用这个函数。

我不是在尝试从一个模块中获取一个函数,而是在程序内部获取一个函数

示例:

def foo():
    print("Foo")
callfunction = input("What function do you want to call? ")
callfunction() ## Not sure what to put here but but lets say callfunction is foo.

我不想这样做,因为我有很多函数:

if callfunction == "Foo"
    Foo()
else:
    print("No function with that name")

我的问题类似于这个,但我想问的是Python语法。我正在使用Python 3.5.1

admin 更改状态以发布 2023年5月24日
0
0 Comments

你可以做这个事情 :\n\n

eval(input("What function do you want to call? ") + '()')

0
0 Comments

使用一个字典将名称映射到函数。 \n

call_dict = {
    'foo': foo,
    'bar': bar
}
call_dict[callfunction]()

0