擅长:python、mysql、java
<p>关键是在<code>main1()</code>中,您将模块<code>mod1</code>中的变量<code>g</code>设置为10,因此调用<code>bar()</code>返回10。我想这很清楚。
在<code>main2()</code>中,您首先将<code>g</code>设置为10,但是当<code>mod2</code>导入<code>mod1</code>时,它会得到一个带有初始变量集的新范围。尝试在<code>main2()</code><strong>调用<code>mod2</code>后打印<code>g</code>,我猜它会打印更改的值(10)。你知道吗</p>
<p>您必须记住,<code>import</code>只是告诉解释器查找相应模块中调用的内容(就好像您要再次打开脚本一样)。当然,当程序更改变量时,分配给变量的值在脚本中不会更改。解释器只读取一次.py文件(在您的情况下是再次读取),也就是在导入它时。你知道吗</p>