内置eval()
函数需要一个字符串参数。但是,Python解释器将字符串视为Python表达式,并评估该字符串是否有效,然后返回由表达式产生的类型对象。
包含算术表达式的字符串
>>> x=eval('2+2') >>> type(x) <class 'int'> >>> x 4
字符串计算到列表/元组
>>> x=eval('tuple([1,2,3])') >>> x (1, 2, 3) >>> type(x) <class 'tuple'>
包含列表理解表达式的字符串
>>> x = eval('list((a*2 for a in range(5)))') >>> x [0, 2, 4, 6, 8] >>> type(x) <class 'list'>