1.模块化程序设计思想
首先分清楚模块和包的区别:
模块对应python的源代码文件,实质是以.py为扩展名的python文件
多个功能相似的模块可以组成一个包
模块化编程设计概念:
模块的API:
模块化程序设计的原则是先设计api,然后实现API,最后在客户端中导入和使用这些函数和类。
可以通过help函数查看模块的API
模块设计的一般原则:
先设计API,再实现模块
控制模块规模,只提供需要的函数,降低复杂性
在模块中编写测试代码,并消除全局代码
使用私有函数实现不被外部客户端调用的模块函数
通过文档获取模块帮助信息
2.模块的导入和创建
1.模块的导入方法有两种:
import 模块名 [ as 别名]
from 模块名 import 方法/类/对象
from ... import * ,一次性导入模块的全部方法,但当导入文件存在与导入内容重名的方法/变量/类,程序执行会报错;当模块很大时,一次导入就很不方便。
注意在jupyter notebook中导入自定义包,需要先将包上传到notebook中。
2.模块创建
python文件中每个文件都可以作为一个模块存在,文件名即模块名
3.模块搜索路径和创建路径方法
使用sys.path,返回搜索路径的列表,因为其本质时列表,所以可以通过.append方法增加搜索路径,但是这只是暂时添加,永久添加需要将其加入环境变量中。
4.模块的属性
__all__ = [] ,控制模块中哪些功能可以使用*导出
__name__获得模块的名字
模块只导入一次,再次import或from,实际上语句没有执行;模块导入后,进行编译,编译文件存储在.pyc文件中,加快下次的导入速度。