2024-03-28 20:22:54 发布
网友
我想用函数名字符串获取函数 例如
class test(object): def fetch_function(): print "Function is call" #now i want to fetch function using string "fetch_function()"
结果应该是:函数是call
使用eval():
eval()
eval("fetch_function()")
如果你把()从fetch_function()留下,你可以用getattr,我认为这比eval更安全:
()
fetch_function()
getattr
eval
class Test(object): def fetch_function(): print "Function is called" test_instance = Test() my_func = getattr(test_instance, 'fetch_function') # now you can call my_func just like a regular function: my_func()
正如前面所说的eval不安全,您可以使用dict将函数映射到字符串并调用它
class test(object): dict_map_func = {'fetch_f': fetch_function} def fetch_function(): print "Function is call" test.dict_map_func['fetch_f']()
使用
eval()
:如果你把
()
从fetch_function()
留下,你可以用getattr
,我认为这比eval
更安全:正如前面所说的eval不安全,您可以使用dict将函数映射到字符串并调用它
相关问题 更多 >
编程相关推荐