最近在看Python代码的时候,因为是Python初学者,看到这个if __name__ == '__main__' 的判断,并且下面还有代码语句,看了其他地方的说明,还是没搞明白是什么意思,

在看到这句话时,终于醍醐灌顶,就是下面这句话:

  __name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。这句话的意思就是,当模块被直接运行时,if 以下代码块将被运行,当模块是被导入时,代码块不被运行。

举个栗子:

  小红.py

  朋友眼中你是小红(__name__ == '小红'),
  你自己眼中你是你自己(__name__ == '__main__'),

  你编程很好, 朋友调你去帮他写程序(import 小红, 这时你在朋友眼中: __name__ == '小红'),
  但你晚上也会打开xx网站, 做一些自己的事情(直接运行小红.py, __name__ == '__main__')

 
怎么样?是不是明白了?也就是:如果是其他人导入我的这个小红.py文件的时候,if下面的语句是执行不到的,如果我自己直接运行小红.py这个文件的时候,if 下面的语句就会执行。

最新文章

  1. 在v-for中利用index来对第一项添加class(vue2.0)
  2. Long类型的数据转换时间格式方法
  3. python random模块
  4. uploadify上传错误:uncaught exception: call to startUpload failed原因
  5. 2、SIP
  6. springMVC发送邮件
  7. jquery 删除cookie失效的解决方法
  8. 12套swift学习资源分享
  9. Iron man
  10. 【转】】CTO、技术总监、首席架构师的区别
  11. c++的学习内容一汇总篇(常更新)
  12. HTTP返回码总结
  13. 【Windows核心编程】重载类成员函数new / new[] / delete / delete[]
  14. Mad Lib程序
  15. tomcat知识(一)
  16. Vue H5 项目模板
  17. 两种 js下载文件的方法(转)
  18. DLib Http Server程序示例
  19. 定制应用Repeater 、ListView的模版
  20. POJ_2019_Cornfields

热门文章

  1. error:cannot load file (code:5555h);bootauto.ini
  2. 学习Java第八周
  3. 函数闭包模拟session
  4. 王雅超的学习笔记-大数据hadoop集群部署(十)
  5. windows系统下的maven项目放到linux系统中运行时报org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnection这种异常的解决办法
  6. 如何学习Java基础
  7. docker网络类型访问原理
  8. 洛谷$P4318$ 完全平方数 容斥+二分
  9. Python基础复习面向对象篇
  10. centos7.3安装chrome