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

Python编程中“if _name_=='_main_':"语句的作用和原理

2017-04-11 11:08 609 查看
大多数编排的较好的脚本或程序里面都会有 "if _name_=='_main_':"这段,它的作用是什么呢?

首先,我们来看_name_是什么。

在python中,每个模块都有一个叫_name_的内置变量,这个变量的值会根据该模块被使用的方式而变化:

1、假设模块A.py 在另一个模块 B.py 中,被作为模块导入,则_name_的值为模块
A.py 的名称

2、假设模块 A.py被直接执行,则_name_ 的值为_main_

举个栗子

1、这是名为one.py的python脚本文件:

print 'one.py'
def fun():
print 'one.py function'
if _name_=='_main_':
print 'one.py is being run directly'
else:
print 'one.py is from another module'
2、这是名为two.py的python脚本文件:

import one

print 'two.py'
if _name_=='_main_':
print 'two.py is being run directly'
else:
print 'two.py is from another module'

直接运行one.py,可得到:

one.py
one.py is being run directly

直接运行two.py,可得到:

one.py
one.py is from another module
two.py
two.py is being run directly


从上段代码对比可以看出,“if _name_=='_main_':"的作用在于:如果直接执行含有该语句的模块,则执行该语句后续部分;若在另一个模块中调用含有该语句的模块时,该语句的后续部分不执行。这样能够使代码的运行更加简洁流畅。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: