擅长:python、mysql、java
<p>在Python中,作用域有三种类型:全局、局部和类。您可以创建专门的“scope”字典以传递给exec/eval()。此外,还可以使用嵌套作用域
(在另一个函数中定义一个函数)。我发现这些在我所有的代码中都足够了。</p>
<p>正如Douglas Leeder已经说过的,在其他语言中使用它的主要原因是变量作用域,而这在Python中并不真正发生。此外,Python是我使用过的最可读的语言。做一些像“如果是真的”的把戏(你说你想避免的)会违背可读性的原则。在这种情况下,我认为最好的办法是将代码重构成多个函数,或者使用单个作用域。我认为Python中可用的作用域足以覆盖所有的事件,因此本地作用域不应该是真正必要的。</p>
<p>我希望这能有帮助。</p>