文章目录
函数
函数的定义
- 将一件事情的步骤封装到一起并得到最终的结果
- 函数名代表了这个函数要做的事情
- 函数体是实现函数功能的流程
- 方法或功能
- 函数可以帮助我们重复使用,通过函数名我们可以指知道函数的作用
函数的分类
- 内置函数:print、id、int、str、max、min、range
- 自定义函数
通过关键字def创建函数
格式:
python
def name(args...):
todo
返回值
python
def hellow_world():
print('hello world')
if __name__ == '__main__':
hellow_world()

函数结果的返回--return
- 将函数结果返回的关键字
- return只能再函数体内使用

函数传参
必传参数
在定义函数的时候,没有默认值且必须在函数执行的时候传递进去的参数,且顺序与参数顺序相同,就是必传参数
- 函数中定义的参数没有默认值,在调用函数时如果不传则报错

- 在定义函数时,参数后边没有等号与默认值
默认参数
- 在定义函数的时候,定义的参数含有默认值,通过赋值语句给他一个默认的值

- 如果默认参数在调用的时候给与了新的值,函数将优先使用后传入的值进行工作,即:调用此函数时传入的值
不确定参数--可变参数
- 没有固定的参数名和数量

- *args代表:将无参数道的值合并成元组
- **kwargs代表将有参数与默认值的赋值语句合并成字典
参数规则

- 参数的定义从左到右依次是必传参数、默认参数、可变参数、可变字典参数
- 函数的参数传递非常灵活
- 必传参数与默认参数的传参多样化
函数的参数类型定义

全局变量和局部变量
全局变量
- 在python脚本中最上层代码块的变量
- 全局变量可以在函数中使用,但是无法修改

局部变量
- 只能函数内使用

全局变量如何在局部进行修改 - 使用global关键字,先声明此变量为全局变量,然后在函数中就可以进行修改了
- 局部使用字典、列表类型不需要global关键字

递归函数
什么是递归函数
一个函数不停的将自己反复执行
python
# coding:utf-8
count = 0
def test ():
global count
count += 1
if count != 10:
print(count)
return test()
else:
print(count)
test()
执行结果
python
1
2
3
4
5
6
7
8
9
10
递归说明
- 内存溢出,会导致服务器崩溃,一定要有退出条件
匿名函数 lambda
lambda功能
- 定义一个轻量化的函数
- 即用即删除,适合需要完成一项功能,但是此功能只在此一处使用
匿名函数的定义方法

执行结果:
