擅长:python、mysql、java
<p>从评论中可以看出,你问的是一些在这里不止一次被问到的问题。”如何创建动态命名变量”。</p>
<p><strong>回答:</strong>不要这样做。有可能有更好的方法来解决这个问题。</p>
<p><strong>说明:</strong></p>
<p>如果您要创建动态命名的变量,那么一旦创建它们,您就不能很好地处理它们。当然有办法检查全局和本地作用域,看看有什么。但事实是,你应该对创造的东西有明确的控制权。</p>
<p>你应该做的是把它们放到字典里:</p>
<pre><code>people = {}
name = raw_input("What name? ") # "person"
people[name] = User(name)
print people
# {'person': <User: "person">}
print people.keys()
# ['person']
</code></pre>
<p>这样就不会在命名空间中创建任意变量。现在有了一个键和对象作为值的字典。它也是一种蠕虫,允许用户提供的输入驱动变量命名。</p>
<p>更多信息,只需在这里搜索相同的主题,并看到许多例子,为什么你不应该这样做。无论你看到什么样的例子告诉你如何使用globals()等,请采纳我的建议,不要走那种路线。爱和享受…也许拥抱和亲吻,你的字典。</p>
<p>参考文献:</p>
<ul>
<li><a href="https://stackoverflow.com/questions/5036700/how-can-you-dynamically-create-variables-in-python-via-to-a-while-loop">How can you dynamically create variables via a while loop?</a></li>
<li><a href="https://stackoverflow.com/questions/8799446/is-it-possible-to-dynamically-create-local-variables-in-python">Is it possible to "dynamically" create local variables in Python?</a>(不要这样做)</li>
</ul>