擅长:python、mysql、java
<p>史蒂夫哈的回答对我很有帮助,但忽略了一个重要的问题(我认为怀斯提正在回答这个问题)。如果只访问但不在函数中分配变量,则不需要全局关键字。</p>
<p>如果在不使用global关键字的情况下分配变量,那么Python将创建一个新的局部变量——模块变量的值现在将隐藏在函数中。使用global关键字在函数中分配模块变量。</p>
<p>Python 2.7下的Pylint 1.3.1如果不分配变量,则强制不使用global</p>
<pre><code>module_var = '/dev/hello'
def readonly_access():
connect(module_var)
def readwrite_access():
global module_var
module_var = '/dev/hello2'
connect(module_var)
</code></pre>