python if __name__ == "__main__":作用

来源:luqidong 发布时间:2014-03-12 22:08:09 点击数:
Python解释器读取源文件时,它会执行所有在它发现的代码。在执行代码之前,它会定义一些特殊的变量。例如,如果Python解释器运行的模块(源文件)为主要程序,它会将特殊__name__的变量有一个值“ __main__ ” 。如果这个文件是从另一个模块导入, __name__的将被设置为模块的名称。
 
在你的脚本的情况下,我们假设它执行为主要功能,例如:你这样说
 
python threading_example.py
在命令行上。设立特殊的变量之后,它将执行import语句,并加载这些模块。然后,它会评估DEF块,创建一个函数对象,并创建一个变量名为MyFunction的指向函数对象。然后,它会读取if语句,看到__name__的不等于“ __main__ ” ,所以它会执行有所示的块。
 
其中一个这样做的原因是,有时你写一个模块( 。 py文件),它可以直接执行。另外,它也可以被导入并在另一个模块中使用。这样做主要检查,你可以有,当你要运行的模块作为一个程序并且不让它执行,当有人只是想导入你的模块并调用你的函数本身的代码只执行。
本文由免费oa系统78oa原创,转载请注明出处。