1、函数

1.1 自定义函数

背景需求:

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

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

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

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

对于上述的两种实现方式,第二次必然比第一次的重用性和可读性要好,其实这就是函数式编程和面向过程编程的区别:
函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可
面向对象:对函数进行分类和封装,让开发“更快更好更强...”
函数式编程最重要的是增强代码的重用性和可读性

自定义函数练习

1、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数 

def func(get_str):
    """
    计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数 
    :param get_str:
    :return:
    """
    digit, alpha, space, other = 0, 0, 0, 0  # 数字 字母 空格 其他
    for i in get_str:
        if i.isdigit():
            digit += 1
        elif i.isalpha():
            alpha += 1
        elif i.isspace():
            space += 1
        else :
            other += 1
    return digit, alpha, space, other


def main():
    get_str = input("请输入一个字符串:")
    result = func(get_str)
    # print(result)
    print(
"""
============================
          数字:%s
          字母:%s
          空格:%s
          其他:%s
============================""" % result)


if __name__ == '__main__':
    main()
View Code

相关文章:

  • 2022-12-23
  • 2021-08-08
  • 2022-12-23
  • 2021-12-28
  • 2021-07-27
  • 2021-11-04
  • 2022-12-23
猜你喜欢
  • 2021-06-26
  • 2021-10-25
  • 2021-05-25
  • 2022-12-23
  • 2021-09-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案