当我们阅读 别人的python代码都会有 if name == "main"这么一行语句,但却不知道为什么要写这个?有什么用

想知道这段代码什么意思让我们来根据例子来测试一下

我们运行一下看看效果:

单独运行是没有问题的,但在另一个文件中(py01.py)导入后运行就会出现问题

python把模块(py02.py)的测试函数也一块执行了,而这并不是我们想要的。为了避免这种情况的关键在于:让python知道该模块是作为程序运行还是导入到其他程序中。为了实现这一点,需要使用模块的__name__属性:

作为程序运行的时候,__name__属性的值是'main', 而作为模块的时候,这个值就是模块的名字了。因此,你就不难理解ifname == "main__" 这句代码的意思了

这次当我们在运行(py01.py)的时候就不见测试代码了!只有我们单独运行py02.py时才能执行test函数

最新文章

  1. html学习第三天—— 第11章 盒子模型 div
  2. CSS编写技巧
  3. C++ operator 的一种不会的用法
  4. [moka同学笔记]YII2中发送邮件示例(转载)
  5. 本周PSP+历年作品评论
  6. GridView 和ListView中自适应高度
  7. 【 D3.js 视频系列 】 飞速入门
  8. SSH-KEY服务及批量分发与管理实战
  9. JAVA面试题:equals()方法和== 区别
  10. OpenGL画图旋转
  11. find系列之xargs命令
  12. js 的try catch
  13. ubuntu下包管理器apt-get常用命令
  14. [HEOI2015]兔子与樱花 树规+贪心
  15. Struts2第十篇【数据校验、代码方式、XML配置方式、错误信息返回样式】
  16. BZOJ_1579_[Usaco2009 Feb]Revamping Trails 道路升级_分层图最短路
  17. Java开发笔记(八十二)注解的基本单元——元注解
  18. ASP.NET 一个数据访问层的封装
  19. ubuntu14.04 terminator字体挤在一起问题
  20. java中URL和File的相互转化

热门文章

  1. kotlin之字符串
  2. Python_List对象内置方法详解
  3. 想使用 MongoDB ,你应该了解这8个方面!
  4. video标签在移动端的一些属性值设置
  5. Unity3D中的SendMessage使用(消息传递的三种方法)
  6. cf1151e number of components
  7. 【VS开发】动态添加的ActiveX控件如何响应事件
  8. vue-cli3.0使用及部分配置详解
  9. MySQL -2- 体系结构-多实例模块
  10. dp入门题(数塔)