您的位置:首页 > 编程语言 > Python开发

python中if __name__ == '__main__':的作用

2017-09-19 17:32 585 查看
一个python文件有两种使用方法:

作为脚本直接运行

import到其它文件中被调用(模块重用)

if __name__ == 'main':
就是用来控制这两种情况下代码执行的过程。在
if __name__ == '__main__':
下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他文件中是不会被执行的。

每个python文件都包含内置的变量__name__,如果直接被执行,则
__name__='__main__'
,如果被当作模块调用,则__name__=模块名。

看看下面的示例就清晰了:

创建test.py文件,内容如下

# cat test.py

print("I'm the first.")
print(__name__)

if __name__=="__main__":
print("I'm the second.")

直接运行文件,这里能看到打印结果
__name__='__main__'
,所以执行了后面的print。

# python3 test.py

I'm the first.
__main__
I'm the second.

创建import_test.py,仅调用test模块

# cat import_test.py

import test

运行import_test.py文件,这里test.py文件被调用时__name__=模块名即test,所以
if __name__=="__main__"
为假,后面的print没有执行。

# python3 import_test.py

I'm the first.
test
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: