擅长:python、mysql、java
<p>它不是自动全球化的。</p>
<p>但是,<code>rep_i=1</code>和<code>rep_lst[0]=1</code>之间有区别——前者重新绑定名称<code>rep_i</code>,因此需要<code>global</code>来防止创建同名的本地插槽。在后一种情况下,您只需修改一个现有的全局对象,该对象是通过常规的名称查找找到的(更改列表项就像调用列表上的成员函数一样,它不是名称重新绑定)。</p>
<p>若要测试它,请尝试在<code>test2</code>中分配<code>rep_lst=[]</code>(即将其设置为新列表)。除非声明<code>rep_lst</code><code>global</code>,否则效果在<code>test2</code>外部将不可见,因为将创建同名的本地插槽,并将全局插槽隐藏起来。</p>