函数来了

Posted jiajin-wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数来了相关的知识,希望对你有一定的参考价值。

引子

现在老板让你写一个监控程序,24小时全年无休的监控你们公司网站服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏空了所有的知识量,写出了以下代码

 1 while True:
 2     if cpu利用率 > 90%:
 3         #发送邮件提醒
 4         连接邮箱服务器
 5         发送邮件
 6         关闭连接
 7     if 硬盘使用空间 > 90%:
 8         #发送邮件提醒
 9         连接邮箱服务器
10         发送邮件
11         关闭连接
12     if 内存占用 > 80%:
13         #发送邮件提醒
14         连接邮箱服务器
15         发送邮件
16         关闭连接

上面的代码实现了功能,但即使是邻居老王也看出了端倪,老王亲切的摸了下你家儿子的脸蛋,说,你这个重复代码太多了,每次报警都要重写一段发邮件的代码,太low了,这样干存在2个问题:

  1. 代码重复过多,一个劲的copy and paste不符合高端程序员的气质

  2. 如果日后需要修改发邮件的这段代码,比如加入群发功能,那你就需要在所有用到这段代码的地方都修改一遍

只需要把重复的代码提取出来,放在一个公共的地方,起个名字,以后谁想用这段代码,就通过这个名字调用就行了

 1 def 发送邮件(内容):  #内容其实就相当于自变量X,最后输出的发送邮件(X)就是相当于数学当中的Y
 2     #发送邮件提醒
 3     连接邮箱服务器
 4     发送邮件
 5     关闭连接
 6 
 7 
 8 while True:
 9     if cpu利用率 > 90%:
10         发送邮件(CPU报警)
11     if 硬盘使用空间 > 90%:
12         发送邮件(硬盘报警)
13     if 内存占用 > 80%:
14         发送邮件(内存报警)

定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可

特性:

  1. 减少重复代码

  2. 使程序变的可扩展

  3. 使程序变得易维护

 

1 def sayhi():  #定义函数名,函数命名不要用中文和拼音,非常Low
2     print("猪猪你好!")
3 
4 sayhi()  #调用函数
 1 a,b = 5,8
 2 c = a**b
 3 print(c)
 4 
 5 转为函数表示
 6 
 7 def calculate(x,y):
 8     res = x**y  #print(res)
 9     return res  #返回值,意味着函数的终止
10 
11 c = calculate(x,y)
12 print(c)

 

以上是关于函数来了的主要内容,如果未能解决你的问题,请参考以下文章

超全超香,数据分析与数据挖掘最频繁使用代码合集来了

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销

在 Visual Studio 中创建构造函数的代码片段或快捷方式

调用模板化成员函数:帮助我理解另一个 *** 帖子中的代码片段

原生支持苹果M1 Mac的VS Code稳定版来了,运行速度提升

web代码片段