python eval()
描述 eval() 函数用来执行一个字符串表达式,并返回表达式的值。
语法 eval(expression)
eval()的强大:eval()是python的内置函数,作用是返回传入的字符串的表达式的结果。
在特征计算中,往往会涉及到批量计算特征,例如:会使用for循环批量传入参数,然后进行变量名的拼接,使用eval函数可以批量返回变量名的表达式结果会特别方便
python中eval函数的用法十分灵活
eval的常用示例:
-
字符串转化为列表
-
字符串转化为字典
-
字符串转化为元组
tu_ = eval("(10,20,30,40,50)") print tu_, type(tu_)
-
字符串转化为函数
def add_nums(x1,x2): add_rs = int(x1) + int(x2) print("add_rs:", add_rs) return add_rs arg = "nums" print "add_"+arg+"(x1,x2)" x1,x2= 20,30 rs = eval("add_"+arg+"(x1,x2)") print(rs, type(rs)) --------------------result-------------------- add_nums(x1,x2) ('add_rs:', 50) (50, <type 'int'>)