函数是什么?

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

在学习函数之前,一直遵循:面向过程编程,即:根据业务逻辑从上而下实现功能,其往往用一段代码来实现指定功能,开发过程中最常见的操作就是复制粘贴,就是将之前实现的代码块复制到现需功能处,如下:

while True:
    if cpu利用率 > 90%:
       #发送邮件提醒
        连接邮箱服务器
        发送邮件
        关闭连接
    
    if 硬盘使用空间 > 90%:
        #发送邮件提醒
        连接邮箱服务器
        发送邮件
        关闭连接
    
    if 内存占用 > 80%:
        #发送邮件提醒
        连接邮箱服务器
        发送邮件
        关闭连接

腚眼一看上述代码,if条件语句下的内容可以被提取出来公用,如下:

def 发送邮件(内容)
    #发送邮件提醒
    连接邮箱服务器
    发送邮件
    关闭连接
    
while True:
    
    if cpu利用率 > 90%:
        发送邮件('CPU报警')
    
    if 硬盘使用空间 > 90%:
        发送邮件('硬盘报警')
    
    if 内存占用 > 80%:
        发送邮件('内存报警')

对于上述的两种实现方式,第二种必然比第一种的重用性和可读性要好,其实这就是函数式编程和面向过程编程的区别:

· 函数式:将某功能代码封装到函数中,日后无需重复编写,仅调用函数即可

· 面向对象:对函数进行分类和封装,让开发“更快更好更强...”

函数式编程最重要的是增强代码的重用性和可读性

特性:

·减少重复代码

·使程序变得可扩展

·使程序变得易维护

 

定义函数

函数的定义主要有如下要点:

  · def:表示函数的关键字

  · 函数名:函数的名称,日后根据函数名称调用函数

  · 函数体:函数中进行一系列的逻辑计算 ==》定义函数,函数体不执行,只有在调用函数的时候才会执行。

  · 参数:为函数体提供数据

  · 返回值:当函数执行完毕后,可以给调用者返回数据。

 

返回值

函数是一个功能块,该功能到底执行是否成功与否,需要通过返回值来告知调用者。

def 发送短信():
       
    发送短信的代码...
   
    if 发送成功:
        return True
    else:
        return False
   
   
while True:
       
    # 每次执行发送短信函数,都会将返回值自动赋值给result
    # 之后,可以根据result来写日志,或重发等操作
   
    result = 发送短信()
    if result == False:
        记录日志,短信发送失败...

注意:

1. 函数在执行过程中只要遇到return语句,就会停止执行并返回结果,所以也可理解为return语句代表函数的结束

def f1 ():
    print(123)
    return "111"
    print(456)
r = f1()
print r
 
# 输出
123
111

2. 如果未在函数中指定return,那么这个函数的返回值为None

def f2 ():
    print(123)
r = f2()
print(r)

# 输出
123
None

 

参数

为什么要有参数?

def CPU报警邮件()
    #发送邮件提醒
    连接邮箱服务器
    发送邮件
    关闭连接

def 硬盘报警邮件()
    #发送邮件提醒
    连接邮箱服务器
    发送邮件
    关闭连接

def 内存报警邮件()
    #发送邮件提醒
    连接邮箱服务器
    发送邮件
    关闭连接
 
while True:
 
    if cpu利用率 > 90%:
        CPU报警邮件()
 
    if 硬盘使用空间 > 90%:
        硬盘报警邮件()
 
    if 内存占用 > 80%:
        内存报警邮件()
无参数实现

相关文章:

  • 2022-01-08
  • 2022-01-30
  • 2022-12-23
  • 2022-12-23
  • 2021-07-25
  • 2021-12-17
  • 2021-08-13
  • 2022-12-23
猜你喜欢
  • 2021-04-30
  • 2021-04-30
  • 2021-07-15
  • 2022-12-23
  • 2021-09-21
  • 2021-09-13
相关资源
相似解决方案