Python之内置变量__name__
1.含义
当前文件中直接被执行时,name__相当于__main
在nametest.py
文件中直接打印变量
#nametest.py
print(__name__)
结果为:
__main__
当在其他
python
文件中导入时,则__name__
表示的是模块名
如下,在nametest.py
中导入nametest
#nametest_import.py
import nametest
结果如下:
nametest
2.作用
当前脚本执行时,
if __name__ == '__main__'
语句后面的内容被执行
#nametest.py
def fun():
print('我是直接在当前脚本中运行')
print(__name__)
if __name__ == '__main__':
fun()
以上执行结果如下:
__main__
我是直接在当前脚本中运行
PS:从上面的执行结果来看,if __name__ == '__main__'
语句后面的内容被执行了
当被其他文件以模块方式导入的时候,则
if __name__ == '__main__'
语句后面的内容不会被执行
#nametest_import.py
import nametest
结果如下:
nametest
PS:从结果可以看出if __name__ == '__main__'
语句后面的内容没有执行
原因:当被其他文件当成模块时,__name__
为模块名nametest
,则if语句不成立,故if后面的语句未被执行
推荐阅读:
http://www.dengfeilong.com/post/60.html