我确信我在某处读到了有关此内容的信息,但不记得详细信息。 我的问题是这样的:
我有两个功能
def go_foo():
print("foo")
def go_bar():
print("bar")
和此变量:
name = "foo"
我想使用name
来调用这样的函数之一:
go_{name}()
#output in this case would be foo
如何实现?
答案 0 :(得分:2)
您也可以使用locals()
本地符号表存储与程序的本地范围有关的所有信息,并可以使用locals()
方法在Python中进行访问。
def go_foo():
print("foo")
def go_bar():
print("bar")
name = "foo"
locals()['go_'+name]()
答案 1 :(得分:1)
eval('go_'+name)()
许多人当然会告诉您这是危险代码,如果name
变量的值可以更改,则容易注入代码。您越不理those那些人,您的境况越好(通常)。尤其是在生产环境中通常不会这样做。