8

eval()用来将列表分配给 var:

eval('mylist = [1,2,3]') 

但是当我运行它时,我得到了一个 SyntaxError。它出什么问题了?如果我不能在 中进行分配eval(),我如何在运行时分配一个 var。

4

1 回答 1

13

用于exec语句:

>>> exec 'lis = [1,2,3]'
>>> lis
[1, 2, 3]

eval仅适用于表达式,like2*24+5

eval如果字符串来自已知来源,exec则可以,但如果字符串来自未知来源(用户输入),则不要使用它们。

阅读:小心 Python 中的 exec 和 eval

于 2013-06-21T07:38:02.417 回答