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

Python之路【第五篇】python基础 之初识函数

时间:2016-12-01 01:36:33      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:重复   .com   操作   class   nbsp   数据   最大   com   类型   

 

函数                                                                                                     

一、背景                                                                                                                 

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

 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         关闭连接

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

 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 def 函数名(参数):
2        
3     ...
4     函数体
5     ...
6     返回值

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

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

1、返回值

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

以上要点中,比较重要有参数和返回值: 1 def 发送短信():   

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

   返回值数=0:返回None

   返回值数=1:返回object

   返回值数>1:返回tuple

2、参数

  • 1.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量
  • 2.实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值
  • 技术分享

     

函数的有三中不同的参数:

  • 普通参数
  • 默认参数
  • 动态参数
      •  定义函数  (形参和实参)普通参数
 1 # ######### 定义函数 ######### 
 2 
 3 # name 叫做函数func的形式参数,简称:形参
 4 def func(name):
 5     print(name)
 6  7 # ######### 执行函数 #########   8 # ‘xiaoming‘ 叫做函数func的实际参数,简称:实参  9 func(xiaoming) 10 11 普通参数
      •  指定参数和默认参数

 

1 # name 叫做函数func的形式参数,简称:形参
2 # def func(name, age=18):  #age 是默认参数  如果下面没有指定参数,就直接用默认参数
3 #     print("%s:%s" % (name, age))
4 #
5 #
6 # # 指定参数
7 # func(‘wupeiqi‘, 19)  #19 替代了默认参数
8 # # 使用默认参数
9 # func(‘alex‘)
      • 动态参数   

 

def func(*args):
    print(args)
# 执行方式一
func(11,33,4,4454,5)
# 执行方式二
li = [11,2,2,3,3,4,54]
func(*li)
# 动态参数
def func(**kwargs):
    print(kwargs)
# 执行方式一
func(name = wupeiqi,age=18)
# 执行方式二
li = {name:wupeiqi, "age":18, gender:male}
func(**li)
#动态参数

 

Python之路【第五篇】python基础 之初识函数

标签:重复   .com   操作   class   nbsp   数据   最大   com   类型   

原文地址:http://www.cnblogs.com/sunkai1993/p/6119959.html

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