eval()不会在运行时分配变量

Fei*_*Xue 8 python string eval

我用来eval()为var分配一个列表:

eval('mylist = [1,2,3]') 
Run Code Online (Sandbox Code Playgroud)

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

Ash*_*ary 13

使用exec的发言:

>>> exec 'lis = [1,2,3]'
>>> lis
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

eval只适用于表达,如2*2,4+5

eval并且exec都还好,如果字符串是从已知来源的到来,但如果字符串是从未知源(用户输入)来不使用它们.

阅读:小心Python中的exec和eval