python中的__name__的使用

简介: 1. 如果模块是被导入,__name__的值为模块名字2. 如果模块是被直接执行,__name__的值为’__main__’Py1.py#!/usr/bin/env pythondef test(): print '__name__ = ',__name__if __name__ == '__main__': test()Py2.
1. 如果模块是被导入,__name__的值为模块名字
2. 如果模块是被直接执行,__name__的值为’__main__’
Py1.py
#!/usr/bin/env python
def test():
 print '__name__ = ',__name__
if __name__ == '__main__':
 test()
Py2.py
#!/usr/bin/env python
import Py1.py
 
def test():
 print '__name__ = ',__name__
if __name__ == '__main__':
 test()
 print ‘Py1.py __name__ = ’,Py1.__name__
执行结果:
__name__=__main__
Py1.py __name__=Py1
通过结果可以知道,Py2.py直接执行,那么内建变量__name__的值为__main__,否则为模块的名字,通过这个特性可以在if语句里面添加测试代码,可以提高减少BUG,提高程序的健壮性。
if __name__ == '__main__':
 test()

目录
相关文章
|
1天前
|
Python
python中if __name__ == '__main__'
python中if __name__ == '__main__'
18 3
|
1天前
|
Python
Python使用飞桨报错NameError: name 'predict_system' is not defined问题处理
【5月更文挑战第12天】Python使用飞桨报错NameError: name 'predict_system' is not defined问题处理
18 1
|
1天前
|
Python
Python基础语法,解释一下Python中的if __name__ == "__main__"。
Python基础语法,解释一下Python中的if __name__ == "__main__"。
|
7月前
|
TensorFlow 算法框架/工具 Python
python报错:ImportError: cannot import name ‘_tf_stack‘ from ‘tenso
ImportError: cannot import name ‘_tf_stack’ from ‘tensorflow.python’本来keras和tensorflow用得好好的,忽然今天报错导入包得时候直接报错。在网上找了很多方法,但是用处都不大,尝试了很多遍都不行。于是尝试将tensorflow和keras卸载重装。(需要彻底卸载,pip命令后还需要删除文件夹中得几个文件夹,也就是...
71 1
|
1天前
|
索引 Python
完美解决丨#在python中,如果引用的变量未定义,则会报告NameError: name ‘变量名‘ is not defined。
完美解决丨#在python中,如果引用的变量未定义,则会报告NameError: name ‘变量名‘ is not defined。
|
5月前
|
前端开发 Python
Python 教程之变量(10)—— Python 中的 __name__ (一个特殊变量)
Python 教程之变量(10)—— Python 中的 __name__ (一个特殊变量)
40 0
|
9月前
|
存储 Python
python--导入,模块的引用,包,__name__
python--导入,模块的引用,包,__name__
|
10月前
|
算法 IDE 开发工具
【Python语法】类型提示(self, nums: List[int]) -> List[int],报错NameError: name ‘List‘ is not defined解决
【Python语法】类型提示(self, nums: List[int]) -> List[int],报错NameError: name ‘List‘ is not defined解决
|
11月前
|
测试技术 Python
Python|自动化测试与if __name__=="__main__":
Python|自动化测试与if __name__=="__main__":
76 0
|
机器学习/深度学习 人工智能 数据挖掘