1. eval用法:
将字符串str当成有效的表达式来求值并返回计算结果。
2. eval的功能:
- math当成一个计算器很好用。
- 将字符串转换为list,tuple,dict。
3. 举例
# -*- coding: utf-8 -*-
import math # 作为计算器使用
print u"获取数字的绝对值:%d" % eval("%d" % math.fabs(-8)) # 将字符串转换为list
list_str = "[[1,2], [3,4], [5,6], [7,8], [9,0]]" print u"list_str:未执行eval,获取第1个元素,期望值:[1,2], 实际值:%s" % (list_str[0])
list_list = eval(list_str)
print u"list_str:已执行eval,获取第1个元素,期望值:[1,2], 实际值:%s" % (list_list[0]) # 将字符串转换为dic。
dict_str = "{1: 'a', 2: 'b'}" print u"dict_str:未执行eval,获取1的值,期望值:a, 实际值:%s" % (dict_str[1])
dict_dict = eval(dict_str)
print u"dict_str:已执行eval,获取1的值,期望值:a, 实际值:%s" % (dict_dict[1]) # 将字符串转换为tuple
tuple_str = "((1,2), 3, 4, 5, 6)" print u"list_str:未执行eval,获取第1个元素,期望值:(1,2), 实际值:%s" % (tuple_str[0])
tuple_tuple = eval(tuple_str)
print u"list_str:已执行eval,获取第1个元素,期望值:(1,2), 实际值:(%s, %s)" % tuple_tuple[0]