Python中if __name__ == '__main__'作用解析


Posted in Python onJune 29, 2015

当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用.

        模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__"。

///////////////////////////////////////////////////////////////////////////////////////////////////

在cmd 中直接运行.py文件,则__name__的值是'__main__';

而在import 一个.py文件后,__name__的值就不是'__main__'了;

从而用if __name__ == '__main__'来判断是否是在直接运行该.py文件

如:

#Test.py
class Test:
    def __init(self):pass
    def f(self):print 'Hello, World!'
if __name__ == '__main__':
    Test().f()
#End

 

你在cmd中输入:

C:>python Test.py
Hello, World!

说明:"__name__ == '__main__'"是成立的

 

你再在cmd中输入:

C:>python
>>>import Test
>>>Test.__name__                #Test模块的__name__
'Test'
>>>__name__                       #当前程序的__name__
'__main__'

无论怎样,Test.py中的"__name__ == '__main__'"都不会成立的!

所以,下一行代码永远不会运行到!

Python 相关文章推荐
Python实现国外赌场热门游戏Craps(双骰子)
Mar 31 Python
python 中的int()函数怎么用
Oct 17 Python
Python 查找list中的某个元素的所有的下标方法
Jun 27 Python
Python测试网络连通性示例【基于ping】
Aug 03 Python
对python中类的继承与方法重写介绍
Jan 20 Python
在Python中调用Ping命令,批量IP的方法
Jan 26 Python
Python Flask 搭建微信小程序后台详解
May 06 Python
python实现文件的备份流程详解
Jun 18 Python
Python整数对象实现原理详解
Jul 01 Python
详解用python生成随机数的几种方法
Aug 04 Python
Python中私有属性的定义方式
Mar 05 Python
Python类的继承super相关原理解析
Oct 22 Python
django接入新浪微博OAuth的方法
Jun 29 #Python
python链接Oracle数据库的方法
Jun 28 #Python
python写日志封装类实例
Jun 28 #Python
Python实现的简单hangman游戏实例
Jun 28 #Python
python实现矩阵乘法的方法
Jun 28 #Python
python实现的用于搜索文件并进行内容替换的类实例
Jun 28 #Python
python实现简单ftp客户端的方法
Jun 28 #Python
You might like
php在线生成ico文件的代码
2007/10/09 PHP
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
2015/05/27 PHP
PHP设计模式之简单投诉页面实例
2016/02/24 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
2016/10/20 PHP
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
js点击页面其它地方将某个显示的DIV隐藏
2012/07/12 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
2013/06/29 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2015/04/01 Javascript
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
基于 D3.js 绘制动态进度条的实例详解
2018/02/26 Javascript
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
vue从一个页面跳转到另一个页面并携带参数的解决方法
2019/08/12 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
2020/04/08 Javascript
[05:08]顺网杯ISS-DOTA2赛歌 少女偶像Lunar青春演绎
2013/12/05 DOTA
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
python返回昨天日期的方法
2015/05/13 Python
Python中property属性实例解析
2018/02/10 Python
Python3基于sax解析xml操作示例
2018/05/22 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
对Python获取屏幕截图的4种方法详解
2019/08/27 Python
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
安全员岗位职责
2013/11/11 职场文书
中华魂放飞梦想演讲稿
2014/08/26 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
Python下opencv使用hough变换检测直线与圆
2021/06/18 Python