#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中的这种用法很灵活啊。

转自:http://www.cnblogs.com/liqilei/archive/2010/08/11/1797715.html

python中type为什么有main_python中 __name__及__main()__的妙处相关推荐

  1. python中 __name__及__main()__的妙处02

    python中 __name__及__main()__的妙处 #hello.pydef sayHello(): str="hello" print(str); if __name_ ...

  2. python中 __name__及__main()__的妙处

    #hello.pydef sayHello(): str="hello"print(str); if __name__ == "__main__":print ...

  3. python def main好处_python中 __name__及__main()__的妙处

    #hello.py def sayHello(): str="hello" print(str); if __name__ == "__main__": pri ...

  4. python函数type的用意_Python中type的构造函数参数含义说明

    测试代码如下: 复制代码 代码如下: class ModelMetaClass(type): def __new__(cls,name,base,attrs): logging.info(" ...

  5. python函数type的用意_python中type()是什么意思

    type()是一个内建的获取变量类型的函数. type()函数有两个用法,当只有一个参数的时候,返回对象的类型.当有三个参数的时候返回一个类对象. 语法:type(object) type(name, ...

  6. Python中type()详解:动态创建类

    众所周知:type()函数可以查看变量的类型: 先看一个简单的列子来看一下type查看变量类型 class Animal():passa=Animal() print(type(a)) print(t ...

  7. python编程是啥-python中type()是什么意思

    k3J少儿编程网-Scratch_Python_教程_免费儿童编程学习平台 type()是一个内建的获取变量类型的函数.k3J少儿编程网-Scratch_Python_教程_免费儿童编程学习平台 ty ...

  8. type在python是什么意思_python中type()是什么意思

    type()是一个内建的获取变量类型的函数. type()函数有两个用法,当只有一个参数的时候,返回对象的类型.当有三个参数的时候返回一个类对象. 语法:type(object) type(name, ...

  9. python中type(),dtype(),astype()的区别

    python中type(),dtype(),astype()的区别 type(): 返回的是数据结构的类型(list, dict,numpy.ndarry) >>> k = [1, ...

最新文章

  1. FTP,SFTP,FTPS三个文件传输协议的区别
  2. android webview和浏览器显示不一样_早道柔性LED显示屏,不一样的视界
  3. 饥荒机器人怎么用避雷针充电_新款iPhone充电线怎么这么好看~安卓也可以用!...
  4. mongodb远程连接配置(亲测)
  5. conda deactivate python3_python3的配置解决
  6. PWN-PRACTICE-BUUCTF-8
  7. BCGSoft Demo示例展示:对话框示例
  8. 从小白到中级高级软件测试工程师成长路线!--(上篇)
  9. java 传参数 数组_Java参数传递 数组的使用
  10. SAP MM物料管理系统功能详解
  11. ImportError: Couldn‘t import Django. Are you sure it‘s installed and available on your PYTHONPATH en
  12. python 绘图英文字体_Matplotlib 中英文及公式字体设置
  13. 图书馆管理信息系统可行性分析
  14. 修改html2canvas生成图片的dpi
  15. 爬取的网页翻页是js的(构造post请求,ajax 异步刷新的, 只抓ajax调用的接口就行),然后保存固定格式
  16. 深度学习之空洞卷积(Dilated/Atrous Convolution)
  17. 软文写作技巧,你的微信软文也能破100000+
  18. 如何处理设计的条码与打印出来的不一样的问题
  19. Charles抓包(数据)
  20. jsjquery获取url域名及参数的方法

热门文章

  1. 分而治之:Oracle 18c 及 12.2 分区新特性的 N 种优化实践(含PPT)
  2. 【鲲鹏 DevKit黑科技解读】│如何实现全链路系统问题90%精准诊断?
  3. 遇到联邦计算数据碰撞难题怎么办?不妨试一试PSI
  4. 想知道你未来宝宝长什么样吗?
  5. 13万张表+数亿行代码,迁移只需数小时,还是异构数据库
  6. 充分释放数据价值:安全、可信6到飞起
  7. 鲲鹏性能优化十板斧(四)——磁盘IO子系统性能调优
  8. 鲲鹏云实验-Python+Jupyter机器学习基础环境
  9. 编译原理总结(个人向)
  10. C++ 各类树的算法