Python 如何获取字符串并将其用作调用函数的标识符?
我已经为我的类创建了一个自动加载器,它使用命令行参数调用该问题集的关联函数。我需要将命令行参数提取为字符串,然后将其用作函数调用。在本例中,我将字符串赋值给pset,然后调用pset并将studentFile作为参数传递。问题是解释器将其视为字符串而不是标识符Python 如何获取字符串并将其用作调用函数的标识符?,python,string,function,identifier,Python,String,Function,Identifier,我已经为我的类创建了一个自动加载器,它使用命令行参数调用该问题集的关联函数。我需要将命令行参数提取为字符串,然后将其用作函数调用。在本例中,我将字符串赋值给pset,然后调用pset并将studentFile作为参数传递。问题是解释器将其视为字符串而不是标识符 一种不安全的方法是使用eval或查看globals()字典。稍微安全一点的方法是在字典中创建字符串到函数的映射,并从映射中查找函数 def foo(): print('hi') def bar(): print('se
一种不安全的方法是使用
eval
或查看globals()
字典。稍微安全一点的方法是在字典中创建字符串到函数的映射,并从映射中查找函数
def foo():
print('hi')
def bar():
print('see you')
funs = { 'foo': foo, 'bar': bar }
funs['foo']()
一种不安全的方法是使用
eval
或查看globals()
字典。稍微安全一点的方法是在字典中创建字符串到函数的映射,并从映射中查找函数
def foo():
print('hi')
def bar():
print('see you')
funs = { 'foo': foo, 'bar': bar }
funs['foo']()
您可以从globals()[pset](studentFile)获取函数这类操作通常通过Python中的字典来完成。您可以从globals()[pset](studentFile)获取函数这类事情通常是通过Python中的字典来完成的。使用字典是可行的,但它仍然需要我创建另一个结构来包含函数调用。我希望有一种更简单的方法将字符串转换成标识符。谢谢。使用字典是可行的,但它仍然需要我创建另一个包含函数调用的结构。我希望有一种更简单的方法将字符串转换成标识符。非常感谢。