代码复用

来自CloudWiki
跳转至: 导航搜索

代码复用

  • 将可能需要反复执行的代码封装为函数
  • 不仅可以实现代码复用,
  • 更重要的是可以保证代码的一致性,只需要修改该函数代码则所有调用均受到影响。

模块化设计

  • 当程序长度在百行以上,如果不划分模块,程序的可读性就已经很糟糕了
  • 使用函数对程序合理划分为功能模块,并基于模块设计程序是一种常用方法,被称为“模块化设计”

基本要求

  • 内聚性:尽可能合理划分功能块,功能块内部耦合紧密
  • 松耦合:模块间的关系尽可能简单,功能间的耦合度低

设计函数时,应注意提高模块的内聚性,同时降低模块之间的隐式耦合。

松耦合代表了模块化,从系统观点来看,松耦合是总体设计原则。

函数的使用原则

使用函数只是模块化设计的必要非充分条件,根据计算需求合理划分函数十分重要。

一般来说,完成特定功能或被经常复用的一组语句应该采用函数来封装,并尽可能减少函数间参数和返回值的数量。

例题(二级真题):两点间距离公式常用于函数图形内求两点之间距离、求点的坐标的基本公式,是距离公式之一。两点间距离公式叙述了点和点之间距离的关系。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

设两个点A、B以及坐标分别为Python10-1003.png,则A和B两点之间的距离为:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

Python10-1002.png ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

请输入4个数字(用空格分隔),分别表示x1、y1、x2、y2, 计算距离(保留2位小数输出)。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

参考编程模板,参考输入输出示例,完善程序。

输入输出示例

 	输入 	输出
示例 1 	1 2 3 4 	2.83
示例 2 	1 1 2 2 	1.14

代码:

def distance(x1,y1,x2,y2):
    d1 = pow(x1-x2,2);
    d2 = pow(y1-y2,2);
    d = pow(d1+d2,1/2)
    return d

if __name__ == '__main__':
    #(1,2),(3,4)两点间距离
    print(distance(1,2,3,4))


拓展:if __name__ == '__main__':的作用

一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。因此 if __name__ == 'main': 的作用就是控制这两种情况执行代码的过程,在 if __name__ == 'main': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而 import 到其他脚本中是不会被执行的。