python 将字符串转化为可执行代码
场景:
在一个遍历的的程序中,有一步需要调用函数,调用的方式是根据输入参数,从3个可供被调用的函数中,选择其中一个。所以写了一个dict={1:"function_a_name",2:"function_b_name",3:"function_c_name"} 。这时需要将函数转化成可执行的代码。
方案:
使用内置函数 exec
使用内置函数 eval
结果:
使用exec时没有达到目的,eval可以实现。
原因:
exec 函数没有返回值,返回值都是None,而eval可以有返回值,而且返回值是我写的三个调用函数的返回值。
参考链接:
http://www.runoob.com/python3/python3-func-exec.html
https://www.cnblogs.com/yangmingxianshen/p/7810496.html