Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何获取字符串并将其用作调用函数的标识符?_Python_String_Function_Identifier - Fatal编程技术网

Python 如何获取字符串并将其用作调用函数的标识符?

Python 如何获取字符串并将其用作调用函数的标识符?,python,string,function,identifier,Python,String,Function,Identifier,我已经为我的类创建了一个自动加载器,它使用命令行参数调用该问题集的关联函数。我需要将命令行参数提取为字符串,然后将其用作函数调用。在本例中,我将字符串赋值给pset,然后调用pset并将studentFile作为参数传递。问题是解释器将其视为字符串而不是标识符 一种不安全的方法是使用eval或查看globals()字典。稍微安全一点的方法是在字典中创建字符串到函数的映射,并从映射中查找函数 def foo(): print('hi') def bar(): print('se

我已经为我的类创建了一个自动加载器,它使用命令行参数调用该问题集的关联函数。我需要将命令行参数提取为字符串,然后将其用作函数调用。在本例中,我将字符串赋值给pset,然后调用pset并将studentFile作为参数传递。问题是解释器将其视为字符串而不是标识符


一种不安全的方法是使用
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中的字典来完成的。使用字典是可行的,但它仍然需要我创建另一个结构来包含函数调用。我希望有一种更简单的方法将字符串转换成标识符。谢谢。使用字典是可行的,但它仍然需要我创建另一个包含函数调用的结构。我希望有一种更简单的方法将字符串转换成标识符。非常感谢。