目录
函数
一.函数基础
1.什么是函数?
在程序中,函数就是具备某一功能的工具,事先将工具准备好就是函数的定义,遇到应用场景拿来就用就是函数的调用。
2.为什么使用函数
- 程序冗长
- 程序的扩展性差
- 程序的可读性差
3.如何使用函数
先定义后调用
- 定义阶段:本来报错的东西不会报错,只检查语法不执行函数代码
- 调用阶段:执行函数代码
二.定义函数的三种形式
第一种定义方式,无参函数
第二种方式:有参函数,有几个参数,就必须传入几个参数
第三种:空函数,函数里写入pass
三.函数的返回值
定义了函数,需要一个函数的返回值,也就是函数内部代码经过一些列逻辑处理获得的结果。类似于变量名用来接收变量值,函数名用来接收函数的返回值。
需要注意的是:
- return是一个函数结束的标志,函数内可以有多个return,只要执行到return,函数就会停止。
- return的返回值可以返回任意数据类型
- return的返回值无个数限制,即可以使用逗号隔开返回多个值
- 0个:返回None
- 1个:返回值是该值本身
- 多个:返回值是元
四.函数参数的应用
1.形参和实参
- 在函数定义阶段括号内定义的参数,称之为形式参数,简称形参,本质就是变量名。
- 在函数调用阶段括号内传入的参数,称之为实际参数,简称实参,本质就是变量的值。
2.位置参数
位置形参:在函数定义阶段,按照从左到右的顺序依次定义的形参,称之为位置形参。
特点:按照位置定义的形参,都必须被传值,多一个不行,少一个也不行。位置实参:在函数调用阶段,按照从左到右的顺序依次定义的实参,称之为位置实参。
特点:按照位置为对应的形参依次传值。
3.默认形参
在定义阶段,就已经被赋值。在调用时可以不用为其赋值。
注意:
- 默认形参必须放在位置形参的后面。
- 默认形参的值只在定义阶段赋值一次,也就是说默认参数的值在函数定义阶段就已经固定了。
4.关键字参数
在调用函数时,按照key=value的形式为指定的参数传值,称为关键字实参。
注意:
- 可以混用位置实参和关键字实参,但是位置实参必须在关键字实参的左边。
- 可以混用位置实参和关键字实参,但不能对一个形参重复赋值。
5.可变长参数
- 可变长形参:
- *args接受了所有位置实参,然后以元祖的形式保存下来,只接受位置参数,不接受关键字实参
- **kwargs接收所有的关键字实参,然后以字典的形式保存下来
- 可变长实参:
- *把这个列表内的元素一个一个取出来,然后一个一个传给这个函数
- **会把这个字典打散成键值对的形式作为实参传给函数