day3-函数介绍
概述
学习编程的过程中,遇到的最多的两种编程方式(编程方法):面向过程和面向对象。其实不管是哪一种,其实都是编程的方法论而已。但是现在有一种更古老的编程方式:函数式编程,以它的不保存的状态,不修改变量等特性,重新进入人们的视野。
- 面向对象 --->类 ---->class
- 面向过程 --->过程--->def
- 函数式编程-->函数--->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%:
发送邮件('内存报警')
而使用函数式编程的优点我们总结有以下几点:
- 减少代码重复性
- 增加代码一致性
- 使程序变得可扩展

浙公网安备 33010602011771号