函数初识
定义:def--关键字
将某个功能封装到一个空间中就是一个函数
功能:
减少重复代码
函数的调用
函数名+():调用函数和接收返回值
函数的返回值
- return 值 == 返回值
- 可以返回任意的数据类型
- return 返回多个内容是元祖的形式
- return 下方不执行,并且会终止当前函数
- return 不写或者写了return 后面不写值都会返回None
- 函数的返回值返回给函数的调用者
- 函数的返回值可以有多个结果
函数的参数
- 分类:
- 位置参数:一一对应
- 默认参数:参数定义是括号中写好的就是默认参数(不进行传参就使用默认参数,使用传参时使用传递的参数)
- 关键字参数,按照关键字进行传参
- 位置参数必须放在默认参数之前
- 混合参数:位置参数和关键字参数一起传参
- 形式参数:函数定义阶段括号中的参数叫做形参
- 实参:函数调用阶段括号中的参数叫做是实参
- 传参:将实参传递给形参的过程叫传参
三元运算:
格式:条件成立的结果 条件 条件不成立的结果
参数:
*args,**kwargs:万能传参
-
*args(函数定义阶段代表聚合,返回的是一个元祖): 大家共用的一个名字,可以修改但是不建议,接受多余的位置参数
-
**kwargs(聚合关键字参数,返回的是一个字典)接收多余的关键字参数
def eat(*args): #函数的定义阶段 *聚合(打包) print(args) #元祖 print(*args)#函数体中的*,打散(解包)
优先级
- 位置参数 > 动态位置参数 > 默认参数 > 动态默认参数
函数体中的*代表什么
- 第一个代表:聚合
- 第二个代表:打散 函数体中* kwargs 只用一个*,
形参中参数定义的位置:
- 位置参数:定义在函数体开头的时候
- 动态位置参数:先执行位置参数,位置参数接收后额外的参数动态位置进行接收,获取到的是一个元祖
- 默认参数:函数接受体接收到的参数
- 动态关键字参数:先执行默认参数,默认参数接收后,额外的默认参数动态进行接收,获取到的是一个字典
实参中的位置:
- “*” 打散
- “**” 实参可以使用
函数的注释
- 查看注释:函数名.__ doc __
- 查看函数的名字:函数名.__ name __