擅长:python、mysql、java
<>你所阅读的C++资源是用<a href="http://en.cppreference.com/w/cpp/language/storage_duration#Storage_duration" rel="nofollow noreferrer"><em>static storage duration</em></a>来讨论类类型的变量。它们与静态变量不同;例如,以下变量也具有静态存储持续时间:</p>
<pre><code>Example x;
namespace whatever {
Example y;
}
void foo() {
static Example z;
}
</code></pre>
<>这些在C++中是危险的,因为它们被初始化和销毁的顺序是不可预测的和容易出错的。在</p>
<hr/>
<p>Python没有静态存储持续时间的变量。它甚至没有存储期限。它具有(模块)全局变量和静态变量,但它们的初始化顺序比C++更精确地定义。除非有循环导入,否则C++问题不太可能发生,即使这样,循环导入也是问题,而不是全局变量或静态变量。在</p>
<hr/>
<p>也就是说,可变的全局状态,例如在程序过程中发生变化的全局变量或静态变量,对<a href="https://softwareengineering.stackexchange.com/questions/148108/why-is-global-state-so-evil">language-independent reasons</a>是不利的。这是C++与静态存储持续时间的问题完全不同的关注点。你不想改变的全局变量和静态变量通常都很好。在</p>