python中__name__的使用
这几天开始学习Python,遇到一些问题,也解决了一些问题。
其中if __ name__ == ‘__ main__’:这句估计很多和我一样的初学者都是不求甚解。
这里作一下解释:
1:__ name__是一个变量。前后加了爽下划线是因为是因为这是系统定义的名字。普通变量不要使用此方式命名变量。
2:Python有很多模块,而这些模块是可以独立运行的!这点不像C++和C的头文件。
3:import的时候是要执行所import的模块的。
4:__ name__就是标识模块的名字的一个系统变量。这里分两种情况:假如当前模块是主模块(也就是调用其他模块的模块),那么此模块名字就是__ main__,通过if判断这样就可以执行“__ mian__:”后面的主函数内容;假如此模块是被import的,则此模块名字为文件名字(不加后面的.py),通过if判断这样就会跳过“__ mian__:”后面的内容。
通过上面方式,python就可以分清楚哪些是主函数,进入主函数执行;并且可以调用其他模块的各个函数等等。
- 如果模块是被导入,__name__的值为模块名字
- 如果模块是被直接执行,__name__的值为’main’
#Py1.py
#!/usr/bin/env python
def test():print '__name__ = ',__name__
if __name__ == '__main__':test()
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#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()
python中__name__的使用相关推荐
- 浅析python 中__name__ = '__main__' 的作用
很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...
- python中 __name__及__main()__的妙处02
python中 __name__及__main()__的妙处 #hello.pydef sayHello(): str="hello" print(str); if __name_ ...
- python 中__name__ = '__main__' 的作用
学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main ...
- python中main的作用_浅析python 中__name__ = '__main__' 的作用
很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...
- python学习笔记26(python中__name__的使用)
python学习笔记26(python中__name__的使用) 在python中,每个py文件都是一个模块,也都是一个可执行文件,即包含main方法.因此,对每个py文件,可以单独运行,也可以imp ...
- python中 __name__及__main()__的妙处
#hello.pydef sayHello(): str="hello"print(str); if __name__ == "__main__":print ...
- python __name__怎么使用_python学习笔记26(python中__name__的使用)
在python中,每个py文件都是一个模块,也都是一个可执行文件,即包含main方法.因此,对每个py文件,可以单独运行,也可以import它给其他客户使用,这两种情况不一样. 1. 如果模块是被导入 ...
- python中__name__属性的取值_Python脚本的“__name__”属性
每个Python脚本在运行时都有一个"__name__"属性.如果脚本作为模块被导入,则其"__name__"属性的值被自动设置为模块名:如果脚本独立运行,则其 ...
- python中 “__name__“的实际应用
目录 引言 一."__name__" 的作用 二.实际项目的应用 应用情境 解决方案 结语 引言 很多Python源码中,会有一句if __name__ == '__main__' ...
最新文章
- 允许用户在web Interface上修改密码
- 如何使用资源和样式调整控件外观
- 【C++】复制构造函数
- Vue.js:监听属性
- 禁止 VMware Fusion 自动调整 Windows 分辨率
- java enumeration 排序_Java如何对java.util.Enumeration进行排序?
- linux 如何查看一个进程空间所装载的共享库
- 计算机的组成 —— 存储(内存/硬盘)
- 【OUTLINE】使用Oracle Outline技术暂时锁定SQL的执行计划
- c语言程序答设计答案张文祥,c语言程序设计答案张文祥
- Simulink嵌入式自动代码DSP F28335(4)——SVPWM
- 解决在微信下载app需要点击右上角在浏览器中打开下载的问题
- 服务器到内地更快的美国HS网络服务器
- 好书推荐:《爱因斯坦的错误:天才的人性弱点》
- Android 第三方桌面,怎么请求Widget的android.permission.BIND_APPWIDGET
- 使用阿里云下载Docker
- Android程序员面试必备的知识点,Android程序员
- 什么是进修编程言语之前
- 自学C++编程,掌握这三项技能就可以工作了
- jdk11新特性,是否有必要从JDK8切换到JDK11
热门文章
- iOS开发系列--无限循环的图片浏览器
- 《Node.js入门》Windows 7下Node.js Web开发环境搭建笔记
- Python学习(七) 流程控制if语句
- SpringMvc多视图整合(jsp、velocity、freemarker)
- DBHelper 使用的是存储过程
- 社区电商才是未来,新科技才是社区电商的核心,社区电商如何实现核心竞争力呢?
- 47、Power Query-处理典型的中国式二维表格转一维
- WSAENOBUFS: No buffer space available in SAP
- ALV的SAP自带标准程序实例
- 新鲜出炉的家庭贫富评判标准!快看看你家属于小康家庭吗?