python if __name__ = __main___
2015-12-07 14:21
621 查看
#hello.py def 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,则输出
This is main of module "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__:
>>> import hello >>> hello.__name__ 'hello' >>>
3、因此,在python中,当一个module作为整体被执行时,moduel.__name__的值将是"__main__";而当一个module被其它module引用时,module.__name__将是module自己的名字,当然一个module被其它module引用时,其本身并不需要一个可执行的入口main了。
相关文章推荐
- python --curl重定向到文件范例
- Python标准库04 文件管理 (部分os包,shutil包)
- Python标准库03 路径与文件 (os.path包, glob包)
- Python标准库02 时间与日期 (time, datetime包)
- Python标准库01 正则表达式 (re包)
- Python进阶11-标准库介绍02
- Python进阶10-标准库介绍01
- 零基础入门学习Python(3):数据类型
- python找出列表重复值
- Python-常用模块
- python核心编程-GUI例子
- python3 下的文件输入输出特性以及如何覆盖文件内容和接下去输入
- 《利用python进行数据分析》读书笔记--第八章 绘图和可视化
- python自动化测试(2)-自动化基本技术原理
- Python入门简单操作
- day7 python学习随笔
- python和php的基本数据类型的定义赋值及常用方法函数
- python之面向对象简要剖析
- python 关于yield, generator, iterable
- Python操作MySQL以及中文乱码的问题