Day 11 - 函数基础
一.定义函数
1.函数的概念
函数就是实现某一特定功能的代码的封装 - 不同的函数有不同的功能
2.函数的分类
根据函数是由谁创建的将函数分为系统函数和自定义函数
1)系统函数 - 系统自带的函数(创建python语言的人创建好的函数)
2)自定义函数 - 由程序员自己创建的函数就是自定义函数
3.定义函数(创建函数) - 造机器
1)语法:
def 函数名(形参列表):
函数说明文档
函数体
2)说明:
def - 关键字;固定写法
函数名 - 由程序员自己命名;
要求:标识符,不是关键字
规范:见名知意(见到函数名大概知道其功能),所有字母都小写,多个单词之间 用下划线隔开
不使用系统的函数名,类名和模块名
(): - 固定写法
形参列表 - 以‘变量名1,变量名2,变量名3,···’的形式存在,这儿的一个变量名代表一个形 参,形参可以将函数外面的数据传递到函数里面
定义函数时需不需要形参就看实现函数功能的时候需不需要额外的数据
函数说明文档 - 本质就是多行注释(机器的说明书)
函数体 - 函数体和def保持一个缩进的一条或者多条语句,函数体就是实现函数功能的代码
4.初学者定义函数的基本步骤
第一步:确定函数功能
第二步:根据函数功能确定函数名字
第三步:确定参数(看实现函数功能需不需要额外的数据,需要几个?)
第四步:实现函数功能
第五步:写函数说明文档
二.函数的调用
1.调用函数
语法:
函数名(实参列表)
同一个函数在需要使用他的功能的时候直接调用
2.函数调用过程
1)定义函数不会执行函数体,调用的时候才会执行函数体
2)执行过程:
第一步:回到函数定义的位置
第二步:传参
第三步:执行函数体
第四步:确定函数返回值
第五步:回到函数调用的位置接着往后执行
三.函数的参数
1.位置参数和关键字参数 - 实参
1)位置参数
实参的位置与形参一一对应
2)关键字参数
依靠关键字去和形参做对应,位置不影响传参
3)混用
一起用要求位置参数必须在关键字前面
2.参数默认值 - 形参
定义函数的时候可以用形参=值得方式给参数默认值
调用函数的时候有默认值的参数可以不传参
如果定义的时候有的参数有默认值,有的没有,没有的要放在前面
3.参数类型说明 - 形参
情况1:没有默认值的参数,在参数后面加‘:类型名’
情况2:跟默认值类型一样
4.不定长参数 - 形参
1)带*的不定长参数
在定义函数的时候在某个参数前面加*,那么这个参数就是不定长参数,可以同时接受多个实参,带*号的参数会变成元组,接受到的实参是元组中的元素
2)带**的不定长参数
四.函数返回值
1.返回值
1)意义:返回值就是从函数内部传递到函数外部的数据
2)怎么确定函数返回值:返回值就是return关键字后面的表达式值(执行函数体的时候如果遇到return,return后面是什么,函数返回值就是什么,如果没有遇到return,返回值none
3)怎么使用函数返回值:函数调用表达式的值就是函数的返回值,返回值能做的事情函数调用表达式都可以做
2. return的作用
作用1:确定函数返回值
作用2:提前结束函数 - 如果执行函数体的时候遇到return,函数直接结束