码迷,mamicode.com
首页 > 编程语言 > 详细

python 【第三篇】:函数及参数

时间:2015-12-13 00:35:03      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

1.函数的理解:

在学习函数之前,一直遵循:面向过程编程:

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

 1 while True:
 2     if cpu利用率 > 90%:
 3         #发送邮件提醒
 4         连接邮箱服务器
 5         发送邮件
 6         关闭连接
 7   
 8     if 硬盘使用空间 > 90%:
 9         #发送邮件提醒
10         连接邮箱服务器
11         发送邮件
12         关闭连接
13   
14     if 内存占用 > 80%:
15         #发送邮件提醒
16         连接邮箱服务器
17         发送邮件
18         关闭连接

 分析可以看出如下:

1.除了判断条件是不同之处外,所有的其他信息都是相同的。

2.能不能将这些代码归并成一个,减少重复的代码?

3.函数?

 1 def 发送邮件(内容)
 2     #发送邮件提醒
 3     连接邮箱服务器
 4     发送邮件
 5     关闭连接
 6   
 7 while True:
 8   
 9     if cpu利用率 > 90%:
10         发送邮件(CPU报警)
11   
12     if 硬盘使用空间 > 90%:
13         发送邮件(硬盘报警)
14   
15     if 内存占用 > 80%:

思考如下:

1.相同之处被单独放到了一个函数里面,减少了代码量,增强了可读性。

2.是不是之后如果遇到发邮件的需求,可以直接将这个函数直接copy复用,或者调用呢?增强了复用性。

3.函数里面传了参数,参数如何用?

函数式编程和面向过程编程的区别:

  • 面向过程:根据需求一行一行垒代码!代码逻辑从上往下、并且功能都是一个完了之后下一个才能执行。代码重复、不易修改重用性差!
  • 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可
  • 面向对象:对函数进行分类和封装,让开发“更快更好更强...”

2.函数的定义:

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

1 def 函数名(参数):
2      
3     ...
4     函数体
5     ...

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

  • def:表示函数的关键字
  • 函数名:函数的名称,日后根据函数名调用函数
  • 函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等...
  • 参数:为函数体提供数据
  • 返回值:当函数执行完毕后,可以给调用者返回数据,默认返回None。

1、返回值

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

 1 def 发送短信():
 2      
 3     发送短信的代码...
 4  
 5     if 发送成功:
 6         return True
 7     else:
 8         return False
 9  
10  
11 while True:
12      
13     # 每次执行发送短信函数,都会将返回值自动赋值给result
14     # 之后,可以根据result来写日志,或重发等操作
15  
16     result = 发送短信()
17     if result == False:
18         记录日志,短信发送失败...

2.参数

参数,参数,参数,重要的事情说三遍,但是这是啥米东西?

技术分享
 1 复制代码
 2 
 3 def CPU报警邮件()
 4     #发送邮件提醒
 5     连接邮箱服务器
 6     发送邮件
 7     关闭连接
 8 
 9 def 硬盘报警邮件()
10     #发送邮件提醒
11     连接邮箱服务器
12     发送邮件
13     关闭连接
14 
15 def 内存报警邮件()
16     #发送邮件提醒
17     连接邮箱服务器
18     发送邮件
19     关闭连接
20  
21 while True:
22  
23     if cpu利用率 > 90%:
24         CPU报警邮件()
25  
26     if 硬盘使用空间 > 90%:
27         硬盘报警邮件()
28  
29     if 内存占用 > 80%:
30         内存报警邮件()
无参数示例

 

python 【第三篇】:函数及参数

标签:

原文地址:http://www.cnblogs.com/chushiyaoyue/p/5042089.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!