28.函数之间互相隔离

李光朱课程 2024-03-27 01:32:51
引入

我们知道函数是一个具有独立功能的代码块,在前面的学习中知道一般情况下把一个个功能都单独做成一个个函数,像之前实现加减乘除就定义了4个函数

在开发时,把独立功能做成一个函数其实就是封装的思想,通过这种方式能够让代码更加整洁

打个比方,当我们离开家乡去远方上学时,往往会大包小包的拎着,每个包中肯定是相类似的物品,这样不仅携带方便在打开包裹取东西时也非常方便,这其实就是”封装“

Python中,根据封装的级别不同,我们会陆陆续续学习到函数、类、对象、模块、包等

"封装"最大的特点就是高内聚低耦合,大白话讲:相关的功能全部封装到函数中(这是高内聚),尽量减少函数与函数之间的依赖(低耦合),也就是说一个函数的改的对其他的函数来说没有影响

因此以后我们在编写代码的时候,谨记“高内聚低耦合”,尽量做到与函数与函数之间没有关系

大家要注意哦“低耦合"可不是"零耦合",也就是函数之间多多少少还是有千丝万缕的关系,大白话讲:函数之间还是有些关系的

函数之间的关系

根据代码的不同,存在3种关系

可能共用同一个变量,会导致一函数添加了数据,另外一个函数删除了数据可能一个函数的返回值,被当做另外一个函数的参数可能一个函数体中调用了另外一个函数

共用一个变量

使用全局变量来实现。后面会详细学习

g_num = 0def test_1(): global g_num # 将处理结果存储到全局变量g_num中 g_num = 100 def test_2(): print(g_num) # 先调用test_1得到数据并且存到全局变量中test_1()# 再调用test_2打印test_1()处理过后的数据test_2()

函数的返回值被当做实参

def test_1(): return 50 def test_2(num): print(num) # 先调用test_1获取该函数的返回值result = test_1()# 调用test_2时将test_1的返回值传入进去test_2(result)

函数中调用另外一个函数

使用函数嵌套调用来实现。后面详细学习

def test_1(): # 通过return将一个数据结果返回 return 20 def test_2(): # 在test_2函数体中调用test_1并获取test_1的返回值 result = test_1() # 在当前函数体中处理数据 print(result) # 调用test_2完成数据处理test_2()总结

函数的功能应该遵循“高内聚,低耦合”

函数之间有关系是肯定的,只要一个函数的改动尽量对另外函数没有影响这就是高品质的函数

至于函数之间的3种关系以及实现方式,需要多练习,当写的代码多了,总结的也多了,相信你的感觉也就到位了

0 阅读:1

李光朱课程

简介:感谢大家的关注