if __name__ (python学习笔记一,注意前面是双下划线)
来源:互联网 发布:阿里算法工程师薪资 编辑:程序博客网 时间:2024/06/05 04:55
摘自DIVE INOT PYTHON
2.6. 测试模块
所有的 Python 模块都是对象并且有几个有用的属性。 您可以使用这些属性方便地测试您所书写的模块。 下面是一个使用 if __name__ 的技巧。
if __name__ == "__main__":
在继续学习新东西之前, 有几点重要的观察结果。 首先, if 表达式无需使用圆括号括起来。 其次, if 语句以冒号结束, 随后跟随的是 缩进代码。
与 C 一样, Python 使用 == 做比较, 使用 = 做赋值。 与 C 不一样, Python 不支持行内赋值, 所以不会出现想要进行比较却意外地出现赋值的情况。那么为什么说这个特殊的 if 语句是一个技巧呢?模块是对象, 并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值要看您如何应用模块。如果 import 模块, 那么 __name__ 的值通常为模块的文件名, 不带路径或者文件扩展名。但是您也可以像一个标准的程序一样直接运行模块, 在这种情况下 __name__ 的值将是一个特别的缺省值, __main__。
>>> import odbchelper
>>> odbchelper.__name__
'odbchelper'
一旦了解到这一点, 您可以在模块内部为您的模块设计一个测试套件, 在其中加入这个 if 语句。当您直接运行模块, __name__ 的值是 __main__, 所以测试套件执行。当您导入模块, __name__ 的值就是别的东西了, 所以测试套件被忽略。这样使得在将新的模块集成到一个大程序之前开发和调试容易多了。
在 MacPython 上, 需要一个额外的步聚来使得 if __name__ 技巧有效。 点击窗口右上角的黑色三角, 弹出模块的属性菜单, 确认 被选中。
- if __name__ (python学习笔记一,注意前面是双下划线)
- Python学习笔记 --- 理解 if '__name__' == '__name__'
- 【Python学习笔记】关于if __name__ == '__main__'
- Python学习笔记(1)__name__变量
- python学习笔记——理解if __name__ == '__main__'
- python学习笔记26(python中__name__的使用)
- Python学习--if __name__ == '__main__': 详解
- python if __name__ = __main___
- python if __name__ = '__main__'
- 【Python】|(转)if __name__ == "__main__"详细解释
- if __name__ == '__main__'到底干了什么?(关键词:Python、__name__、__main__)
- Python学习笔记(4)-if语句
- Python学习笔记(8)- if语句
- python学习之 __name__
- python 中的if __name__ == 'main':
- 【Python】if __name__ == '__main__'
- python 中的if __name__ == 'main':
- 【Python】if __name__ == '__main__'
- PAP与CHAP认证简介
- Detail is the key of success
- 追
- JavaScript实现滑动折叠
- 序列代码生成器
- if __name__ (python学习笔记一,注意前面是双下划线)
- FLASH调用网页上的JS方法,以及FLASH全屏播放的方法
- spring定时控制
- 明天去内蒙古
- 用无序链表实现字典ADT(C++描述)
- 大数运算(十)
- 在这里,我有了个家
- AjaxPanel自定义控件实现页面无刷新数据交互
- FPGA Adders: Performance Evaluation and Optimal Design