• 函数来了


    引子

    现在老板让你写一个监控程序,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)
  • 相关阅读:
    第5课.异步通知
    第4课.poll机制
    第3课.Linux异常处理体系结构
    第2课.字符设备驱动程序的开发
    第1课.Linux驱动的概述
    [Linux驱动]字符设备驱动学习笔记(二)———实例
    [linux驱动]linux块设备学习笔记(三)——程序设计
    [Linux驱动]字符设备驱动学习笔记(一)
    [linux驱动]proc学习笔记(一)
    [linux驱动][Linux内存]DMA学习笔记一
  • 原文地址:https://www.cnblogs.com/jiajin-wu/p/11863720.html
Copyright © 2020-2023  润新知