擅长:python、mysql、java
<p>在python中,模块是对象。为了创建一个模块对象,它所包含的代码将被执行<em>并将找到的绑定作为属性添加到对象中。在</p>
<p>指定要导入的内容并不会改变这样一个事实,即整个模块被执行,<em>之后</em>只有单个绑定被放在<code>import</code>的作用域中。在</p>
<p>标准做法是,在一个保护后导入时,将您要执行的任何代码放在一个保护之后:</p>
<pre><code>if __name__ == '__main__':
# your code here
</code></pre>
<p><code>__name__</code>是一个特殊的全局变量,它仅在执行模块时是<code>__main__</code>。在导入过程中,它被设置为模块的名称(因此代码不会被执行)。在</p>
<hr/>
<p>要了解有关模块的更多信息,请阅读<a href="https://docs.python.org/2/tutorial/modules.html#modules" rel="noreferrer">documentation</a>。还有一节解释了上面提到的保护:<a href="https://docs.python.org/2/tutorial/modules.html#executing-modules-as-scripts" rel="noreferrer">Executing modules as scripts</a></p>