day3-函数介绍

概述

学习编程的过程中,遇到的最多的两种编程方式(编程方法):面向过程和面向对象。其实不管是哪一种,其实都是编程的方法论而已。但是现在有一种更古老的编程方式:函数式编程,以它的不保存的状态,不修改变量等特性,重新进入人们的视野。

  1. 面向对象 --->类 ---->class
  2. 面向过程 --->过程--->def
  3. 函数式编程-->函数--->def

定义

编程语言中函数定义:函数是逻辑结构化和过程化得一种编程方法。函数式编程就是先定义一个数学函数,然后按照这个数学模型用编程语言去实现它。

1.定义函数

def func1():
"""testing1"""
     print("In function 1")
     return 0

x=func1()
print("From function 1 is %s" %x)
#输出
In function 1
From function 1 is 0


def:定义函数的关键字
test:函数名
():内可定义形参
”"“    ”“":文档描述
print:泛指代码块或程序处理逻辑
return:定义返回值

2.定义过程

def func2():
"""testing2"""
    print("In function 2")

y=func2()
print("From function 2 is %s" %y)
#输出
In function 2
From function 2 is None

小结:当一个函数/过程没有使用return显示的定义返回值时,python解释器会隐式的返回None,所以在python中即便是过程也可以算作函数。

为何使用函数?

没有函数的编程只是在写逻辑(功能),想脱离函数,重用你的逻辑,唯一的方法就是拷贝,如果我们需要写一个监控的程序,监控服务器的系统状况,当cpu/memory/disk等指标的使用量超过阀值时即发邮件报警,或许我们会这样写:

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

上面的代码实现了功能,但重复代码太多了,每次报警都要重写一段发邮件的代码,于是我们进行了优化,把重复的代码提取出来,放在一个公共的地方,起个名字,以后谁想用这段代码,就通过这个名字调用就行了,如下

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

而使用函数式编程的优点我们总结有以下几点:

  1. 减少代码重复性
  2. 增加代码一致性
  3. 使程序变得可扩展
posted @ 2017-07-30 19:43  Mr.hu  阅读(102)  评论(0)    收藏  举报