模块化编辑流程
- 设计API, 进行功能的描述
- 编码实现API中的流程
- 在模块中编写测试代码, 并消除全局代码
- 使用私有函数实现不被外部客户端调用的模块函数
模块API功能描述的特点
API是用于描述模块中提供的函数和类功能描述和使用方法的描述
模块化描述中, 首先设计的就是模块化API, 然后开始编码实现API中描述的功能. 最后在其他模块中导入本模块进行调用
我们可以通过help(模块名)查看模块的API, 一般使用时先导入模块, 然后通过help函数查看
也可以在python的api文档中查询:
- 首先进入python安装目录下的docs子目录
- 双击打开chm文档, 即可通过索引输入math查看API
Practice: 设计计算薪水的模块API
1 '''本模块用于计算公司员工的薪资''' 2 company = 'Asis' 3 def yearSalary(monthSalary): 4 '''根据传入月薪计算出年薪''' 5 return monthSalary*12 6 7 def daySalary(monthSalary): 8 '''根据传入月薪计算每天薪资''' 9 return monthSalary/22.5
测试:
1 import Python07_7 2 3 print(Python07_7.__doc__) 4 print(Python07_7.yearSalary.__doc__)
模块的创建和测试代码
每个模块都有一个特殊的名称,通过特殊变量__name__可以获取模块名称. 在正常情况下, 模块名称对应文件名, 当一个模块作为程序入口时, 他的__name__值为__main__, 可以根据这个特点, 将模式源代码文件中的测试代码进行独立处理
模块文档字符串的API设计
我们可以在模块文档的第一行增加一个字符串, 用于描述模块的相关功能, 然后通过__doc__可以获取文档字符串的内容