函数来了

引子

现在老板让你写一个监控程序,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)

 

posted @ 2019-11-15 21:50  进击的小吴  阅读(135)  评论(0编辑  收藏  举报