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 相关文章推荐
pandas对指定列进行填充的方法
Apr 11 Python
python数字图像处理实现直方图与均衡化
May 04 Python
python实现决策树分类(2)
Aug 30 Python
Python2和Python3.6环境解决共存问题
Nov 09 Python
python直接获取API传递回来的参数方法
Dec 17 Python
python使用socket实现的传输demo示例【基于TCP协议】
Sep 24 Python
Pycharm和Idea支持的vim插件的方法
Feb 21 Python
python随机模块random的22种函数(小结)
May 15 Python
Python读取Excel数据并生成图表过程解析
Jun 18 Python
Python正则re模块使用步骤及原理解析
Aug 18 Python
Python:__eq__和__str__函数的使用示例
Sep 26 Python
Python生成pdf目录书签的实例方法
Oct 29 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实现过滤各种HTML标签
2015/05/17 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
django中的ajax组件教程详解
2018/10/18 PHP
Yii Framework框架使用PHPExcel组件的方法示例
2019/07/24 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
javascript 日期常用的方法
2009/11/11 Javascript
用Javascript实现Sleep暂停功能代码
2010/09/03 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
Javascript从数组中随机取出不同元素的两种方法
2016/09/22 Javascript
原生javascript运动函数的封装示例【匀速、抛物线、多属性的运动等】
2020/02/23 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
一则python3的简单爬虫代码
2014/05/26 Python
Python操作串口的方法
2015/06/17 Python
Python序列循环移位的3种方法推荐
2018/04/09 Python
python+opencv+caffe+摄像头做目标检测的实例代码
2018/08/03 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
python中列表的含义及用法
2020/05/26 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
园林设计师自荐信
2013/11/18 职场文书
小露珠教学反思
2014/04/30 职场文书
浪漫的婚礼主持词
2015/06/30 职场文书
政协常委会议主持词
2015/07/03 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
初二数学教学反思
2016/02/17 职场文书
学生安全责任协议书
2016/03/22 职场文书
iPhone13再次曝光
2021/04/15 数码科技
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript
win11自动弹出虚拟键盘怎么关闭? Win11关闭虚拟键盘的技巧
2023/01/09 数码科技