函数
-
函数就是对实现某一特定功能的代码的封装
-
函数的分类
系统函数:由系统创建好的函数就是系统函数,如果需要,直接调用即可。例如:print,input,max,min等
自定义函数:有程序员自己创建的函数,就是自定义函数
- 定义函数
语法: def 函数名(形参):
函数说明文档
函数体
说明:
def,(),冒号 — 固定写法
函数名 ---- 程序员自己定义
---- 标识符,不是关键字
----- 见名知意
形参 ------ 以’变量名1, 变量名2, 变量名3…’
------- 形参可以有多个,也可以只有一个
------- 形参的作用是将函数外部的数据传递到函数里面,传输数据的通道
函数说明文档 ---- 本质就是稳定注释,用’’’ ‘’’,""" “”"括起来
函数体 ------- 和def保持一个锁紧的一条或者多条语句,函数体就是实现函数功能的代码
新手推荐步骤
第一步:确定函数功能
第二步:根据功能确定函数名
第三步:确定形参,确定实现函数的功能需不需要额外的数据,如果需要,需要几个
第四步:实现函数的功能
第五步:写函数说明文档
注意:定义函数的时候不会执行函数,调用函数的时候才会执行函数中函数体
调用函数
语法:函数名(实参)
说明:
函数名 ----- 必须是已经定义好的函数的函数名
实参列表 ----- 以’数据1,数据2…'的形式存在,实参就是通过形参传递到函数内部的具体的数据
函数调用过程
第一步:回到函数定义的位置
第二步:传参(用实参给形参赋值)
第三步:执行函数体
第四步:确定函数返回值
第五步:回到函数调用的位置,接着往后执行
函数的参数
位置参数和关键字参数(实参的分类):
未知参数:以’数据1, 数据2, 数据3,… '的形式存在,传参的时候直接和形参从位置上一一对应
关键字参数:以’形参名1 = 数据1,形参名2 = 数据2…'的形式存在
如果未位置参数和关键字参数混用的情况下:位置参数必须在
关键字参数前面
参数默认值(形参):定义函数的时候,可以通过’形参名 = 值’ 的方式给参数 赋 默认值
有默认值的参数在调用的时候可以不用传参
注意:定义函数的时候所有参数都可以有默认值,也可以部分参数有默认值。如果部分参数有默认值,没有默认值的参数必须在前面
参数类型说明:
方法一:给参数赋默认值,默认值的类型就是对应的参数类型
方法二:以’形参名:类型名’ 的方式说明类型
方法一和方法二不能同时使用
不定长参数
第一种:在参数前加*,带*的参数会变成一个元组,会将对应的实参作为元组中的元素
注意:在调用的时候只能使用位置参数传参
第二种:在参数前加* *,这个带 * *的参数会变成一个字典,代用的时候使用关键字
参数传参,每个关键字参数会作为字典中的一个键值对