python可以面向过程吗_Python函数式编程和面向过程编程的区别

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

if cpu利用率 > 90%:

#发送邮件提醒

连接邮箱服务器

发送邮件

关闭连接

if 硬盘使用空间 > 90%:

#发送邮件提醒

连接邮箱服务器

发送邮件

关闭连接

if 内存占用 > 80%:

#发送邮件提醒

连接邮箱服务器

发送邮件

关闭连接

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

#发送邮件提醒

连接邮箱服务器

发送邮件

关闭连接

while True:

if cpu利用率 > 90%:

发送邮件('CPU报警')

if 硬盘使用空间 > 90%:

发送邮件('硬盘报警')

if 内存占用 > 80%:

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

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

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

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