函数来了
引子
现在老板让你写一个监控程序,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个问题:
-
代码重复过多,一个劲的copy and paste不符合高端程序员的气质
-
如果日后需要修改发邮件的这段代码,比如加入群发功能,那你就需要在所有用到这段代码的地方都修改一遍
只需要把重复的代码提取出来,放在一个公共的地方,起个名字,以后谁想用这段代码,就通过这个名字调用就行了
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 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)