python中 __name__及__main()__的妙处02
python中 __name__及__main()__的妙处
#hello.pydef sayHello(): str="hello" print(str); if __name__ == "__main__": print ('This is main of module "hello.py"') sayHello()
python作为一种脚本语言,我们用python写的各个module都可以包含以上那么一个累死c中的main函数,只不过python中的这种__main__与c中有一些区别,主要体现在:
1、当单独执行该module时,比如单独执行以上hello.py: python hello.py,则输出
hello
可以理解为"if __name__=="__main__":" 这一句与c中的main()函数所表述的是一致的,即作为入口;
2、当该module被其它module 引入使用时,其中的"if __name__=="__main__":"所表示的Block不会被执行,这是因为此时module被其它module引用时,其__name__的 值将发生变化,__name__的值将会是module的名字。比如在python shell中import hello后,查看hello.__name__:
>>> hello.__name__
'hello'
>>>
3、因此,在python中,当一个module作为整体被执行时,moduel.__name__的值将是"__main__";而当一个 module被其它module引用时,module.__name__将是module自己的名字,当然一个module被其它module引用时,其 本身并不需要一个可执行的入口main了。可以说python中的这种用法很灵活啊。
转自:http://www.cnblogs.com/liqilei/archive/2010/08/11/1797715.html
转载于:https://www.cnblogs.com/handsome1013/p/9269200.html
python中 __name__及__main()__的妙处02相关推荐
- python中 __name__及__main()__的妙处
#hello.pydef sayHello(): str="hello"print(str); if __name__ == "__main__":print ...
- python中type为什么有main_python中 __name__及__main()__的妙处
#hello.py def sayHello(): str="hello" print(str); if __name__ == "__main__": pri ...
- python def main好处_python中 __name__及__main()__的妙处
#hello.py def sayHello(): str="hello" print(str); if __name__ == "__main__": pri ...
- 浅析python 中__name__ = '__main__' 的作用
很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__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中的以下划线“__“开头的方法——魔术方法使用指向
什么是魔术方法? 在Python中,所有以双下划线__包起来的方法,统称为Magic Method(魔术方法),它是一种的特殊方法,普通方法需要调用,而魔术方法不需要显示调用就可以执行. 魔术方法在类 ...
- 轻松理解python中的_和__区别和含义
Python中 _ 和 __ 的含义 _ 的含义 在python的类中,没有真正的私有化,不管是方法还是属性,为了编程的需要,约定加了下划线 _ 的属性和方法不属于API,不应该在类的外面访问,也不会 ...
最新文章
- vue-cli工程目录结构及相关文件说明
- 在腾讯云上安装mysql遇到的问题
- 逻辑漏洞小结之SRC篇
- 【Canvas】如何用Canvas绘制折线图
- JavaWeb笔记(七)FilterListener
- 东南亚本地商ERP仓储系统怎么样?
- android仿IOS,滑动隐藏底部ScrollView
- 管理感悟:如何看待培训
- 【工具】动软代码生成器连接数据库
- Qt学习之资源文件(qrc)的添加以及使用
- egg.js+vue前后端分离项目,后端如何使用set-Cookie为前端设置cookie
- tensorflow 版本列表_TensorFlow 版本兼容性
- java 查询条件的封装_java封装前端查询条件通用版|chu
- 七天引爆社交新零售(助你提高十倍业绩)——前言
- mac控制台关闭指定端口
- 用python进行数据分析举例说明_《利用python进行数据分析》读书笔记 --第一、二章 准备与例子...
- 【译】Sobel 算子文档
- RealView MDK的指定位置
- 基于PHP+小程序(MINA框架)+Mysql数据库的新生自助报到小程序系统设计与实现
- 阿里云后台服务器IIS安装与配置
热门文章
- mongodb学习参考博文
- Docker容器固定IP分配
- bug4 导入新工程时报 Target runtime com.genuitec.runtime.generic.jee60 is not defined
- script的加载方式与执行
- 职业生涯第二年回顾(2011.2~2012.2)
- windows7环境下使用pip安装MySQLdb
- 大数据2 Hadoop伪分布模式配置部署
- 分享我的学习记录 svn地址
- python binary lib on win/各种python库的二进制包
- linux中通过命令生成hex值