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进行验证码识别的一些想法
Jan 25 Python
windows10系统中安装python3.x+scrapy教程
Nov 08 Python
python搭建服务器实现两个Android客户端间收发消息
Apr 12 Python
浅谈python中字典append 到list 后值的改变问题
May 04 Python
python 实现批量xls文件转csv文件的方法
Oct 23 Python
python 文件查找及内容匹配方法
Oct 25 Python
Python如何爬取实时变化的WebSocket数据的方法
Mar 09 Python
Python简单处理坐标排序问题示例
Jul 11 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
Sep 25 Python
python保存log日志,实现用log日志画图
Dec 24 Python
解决tensorflow打印tensor有省略号的问题
Feb 04 Python
基于python3实现倒叙字符串
Feb 18 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
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
小谈php正则提取图片地址
2014/03/27 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
php简单获取复选框值的方法
2016/05/11 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
Js+XML 操作
2006/09/20 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
初识Javascript小结
2015/07/16 Javascript
学习JavaScript设计模式(单例模式)
2015/11/26 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
JavaScript DOM节点操作方法总结
2016/08/23 Javascript
学习Node.js模块机制
2016/10/17 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
js面向对象编程总结
2017/02/16 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
react 国际化的实现代码示例
2018/09/14 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
2020/05/19 Javascript
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
详解Python中的动态属性和特性
2018/04/07 Python
Django 使用logging打印日志的实例
2018/04/28 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
Python判断以什么结尾以什么开头的实例
2018/10/27 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
python3实现弹弹球小游戏
2019/11/25 Python
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
社区中秋节活动方案
2014/01/29 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
高一军训口号
2015/12/25 职场文书
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL