Python函数知识学习
- 1、函数的介绍
- 1、什么是函数
- 2、定义函数
- 3、调用函数
- 2、Python内置函数
- 1、len()
- 2、max()
- 3、min()
- 4、del()
- 3、函数参数
- 1、定义调用函数参数
- 1、定义带有参数的函数
- 2、调用带有参数的函数
- 2、参数分类
- 1、位置参数
- 2、关键字参数
- 3、缺省参数
- 4、不定长参数
- 1、不定长参数*args
- 2、不定长参数* *kwargs
- 5、混合使用
- 4、函数返回值
- 1、什么是返回值
- 2、定义返回值
- 3、保存函数返回值
- 4、返回值隐藏功能
- 1、结束函数
- 2、返回多个数据
- 5、函数类型
- 1、无参数,无返回值
- 2、无参数,有返回值
- 3、有参数,无返回值
- 4、有参数,有返回值
- 5、总结
- 6、函数的嵌套调用
- 7、变量
- 1、局部变量
- 2、全局变量
- 3、局部变量名与全局变量相同
- 4、修改全局变量
- 8、匿名函数
1、函数的介绍
1、什么是函数
在发开过程中,如果需要某块代码多次,将具有独立功能的代码块组织为一个小模块,这就是函数
2、定义函数
格式:
def 函数名():
代码
3、调用函数
格式:
函数名()
注意:
调用函数时,函数从头开始执行,当函数代码执行完毕时代表着这次调用结束
如果函数执行到return也会结束执行
2、Python内置函数
1、len()
方法:计算容器中元素个数
例子:
2、max()
方法:返回容器中元素的最大值
例子:
3、min()
方法:返回容器中元素的最小值
例子:
4、del()
方法:删除变量
例子:
3、函数参数
1、定义调用函数参数
1、定义带有参数的函数
例子:
2、调用带有参数的函数
方法:调用带有参数的函数是,需要在小括号中传递参数;函数定义时有几个参数,就需要传递几个参数
例子:
2、参数分类
1、位置参数
方法:参数调用时,传入的参数个数要和位置相匹配
例子:
2、关键字参数
方法:参数调用时,可以改变传参顺序,如果有位置参数需要位置参数放在关键字参数前面;如果关键字参数在位置参数之前,报错
例子:
成功
失败(关键字参数在位置参数之前)
3、缺省参数
方法:在形参中默认有值的参数,称之为缺省参数
调用函数时,缺省参数的值如果没有被传入,取默认值(形式参数),如果传入,取实际参数
注意:缺省参数一定在位置参数的最后面,否则运行报错
例子:
失败(默认值参数位于位置参数之前)
4、不定长参数
方法:当需要函数处理比声明时更多的参数,这些参数叫做不定长参数,声明时不会命名
1、不定长参数*args
存放所有未命名的变量参数,args为元祖
当调用函数时给参数命名,报错
例子:
2、不定长参数* *kwargs
存放命名参数,如形成key=value的参数,kwargs为字典
当调用函数时出现未命名参数,报错
例子:
5、混合使用
4、函数返回值
1、什么是返回值
返回值就是程序中函数完成一件事后,最后给调用者的结果
2、定义返回值
方法:return
例子:
3、保存函数返回值
例子:
4、返回值隐藏功能
1、结束函数
当一个函数中有两个return时,当第一个return生效返回返回值之后,函数结束
一个函数中可以有多个return,但是只要有一个return执行,函数就会结束
例子:
2、返回多个数据
return后边可以是元祖、字典、列表等,只要是能够存储多个数据的类型,就可以一次性返回多个数据
例子:
5、函数类型
函数根据有没有参数,有没有返回值,可以分为四种函数
1、无参数,无返回值
2、有参数,无返回值
3、无参数,有返回值
4、有参数,有返回值
1、无参数,无返回值
函数不能接收参数,也没有返回值
例子:
2、无参数,有返回值
函数不能接收参数,但是返回数据
例子:
3、有参数,无返回值
函数接收参数,但是不可以返回数据
例子:
4、有参数,有返回值
函数接收参数,返回数据
例子:
5、总结
函数根据有没有参数,有没有返回值可以相互结合
定义函数时,是根据实际功能需求设计,所以不同开发人员编写的函数类型各不相同
6、函数的嵌套调用
一个函数里边又调用了另一个函数,这就是所谓的函数嵌套调用
如果函数A中,滴啊用了另一个函数B,那么先将函数B的任务执行完毕之后,回到上次函数A执行的位置继续执行函数A 例子:
7、变量
1、局部变量
定义:局部变量就是定义在函数内部的变量
作用:在函数内部使用,为了临时保存数据定义,当函数调用结束后,局部变量也就不能使用了
2、全局变量
定义:既能在一个函数中使用,也能在其他函数中使用的变量
作用:全局变量能够在所有函数中进行访问
3、局部变量名与全局变量相同
当函数内出现局部变量与全局变量名字相同时,函数内部中的 变量名 = 数据 此时理解为定义来了一个局部变量,而不是修改全局变量的值
4、修改全局变量
方法:global 全局变量名
函数中出现global 全局变量名,那么这个函数中及时出现与全局变量名相同的 变量名 = 数据 也理解为对全局变量的修改,而不是定义局部变量
拓展
8、匿名函数
lambda函数也叫匿名函数
lambda函数可以赋值给变量,默认是返回的,所以不用加return关键字