学习地址:
撩课-Python大数据+人工智能1
撩课-Python大数据+人工智能2
撩课-Python大数据+人工智能3
撩课-Python大数据+人工智能4
撩课-Python大数据+人工智能5
撩课-Python大数据+人工智能6
撩课-Python-GUI编程-PyQt5
1.包和模块补充
区分模块的测试与发布状态
场景简述
有可能我们在开发模块的过程当中,需要写一些测试代码,来测试我们所写的函数是否正确;暂且把这一段代码称为“测试代码”
等我们测试通过之后,正常会发布到Pypi供他人下载使用
而别人使用的场景一般为“当做模块导入使用”,比如“import xxx”
我们知道,一旦import 某个模块之后,会执行里面所有的顶级代码;也就意味着会连同“测试代码”一起执行
而这种结果,就违背了用户本意
只是想导入你的模块,在自己代码需要的地方调用相关API
但是在导入之后,却额外的执行了根本不应该执行的“测试代码”
解决方案
方式1:模块发布者,在发布前,应该删除所有测试代码
下次更新迭代,还要再次把“测试代码”整回来
来回删除比较麻烦
方式2:借助__name__来区分py文件被执行的模式
直接执行;此值为
__main__
被当做模块来执行;此值为
模块名称
代码实例
if __name__ == '__main__':
测试代码
注意: 当以脚本的方式执行这个文件时, 此处代码会被执行
2.当以导入的方式执行时, 此处不会被执行
使用PyCharm安装包和模块
实践
网友评论