好的。所以我的问题很简单:如何在Python中使用eval分配变量的值?我尝试了eval('x=1'),但没有用。它返回一个SyntaxError。为什么这样不行
因为x=1是一个语句,而不是一个表达式。使用exec运行语句
>&燃气轮机&燃气轮机;exec('x=1')
&燃气轮机&燃气轮机&燃气轮机;十、
1.
顺便说一句,如果您只需要分配一个动态名称,那么有很多方法可以避免使用exec/eval,例如,您可以使用字典、setattr函数、或:locals()dictionary
>&燃气轮机&燃气轮机;局部变量()['y']=1
&燃气轮机&燃气轮机&燃气轮机;Y
1.
更新:尽管上面的代码在REPL中工作,但在函数中不起作用。如果exec不存在问题,请参阅在Python中修改局部变量以了解一些替代方法