擅长:python、mysql、java
<p><code>eval()</code>只允许<em>表达式</em>。赋值不是表达式,而是语句;您必须使用<code>exec</code>。</p>
<p>即使这样,您也可以使用<code>globals()</code>字典将名称添加到全局命名空间中,而不需要执行任何任意表达式。</p>
<p>如果您确实不想这样做,您需要<a href="http://nedbatchelder.com/blog/201112/keep_data_out_of_your_variable_names.html" rel="noreferrer">keep data out of your variable names</a>并使用列表或字典来代替:</p>
<pre><code>x = ['123'] * 10
</code></pre>
<p>会给您一个列表,您可以将其命名为<code>x[0]</code>、<code>x[1]</code>,等等,而不必执行任意表达式。</p>