一.函数的使用应该分为两个明确的阶段
1. 定义阶段:只检测语法,不执行函数体代码
def func():2. 调用阶段:会触发函数体代码的执行func()二:函数的定义三种形式
1.有参函数
2.无参函数
3.空函数
三:函数调用的三种形式
1.语句形式 register()
2.表达式 res=max2(10,20)*12
3.将函数的调用当作参数传给另外一个函数 res=max2(max2(10,20),30)
四.函数的返回值
一 函数的返回值需要注意:
1 返回值没有类型限制2 返回值没有个数限制返回1个值:调用函数拿到的结果就是一个值 返回多个值:调用函数拿到的结果就是一个元组 返回0个值,或者不写return:调用函数拿到的结果就是None二 return关键字:return是函数结束的标志,函数内可以有多个return,但只要执行一次,整个函数就结束
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
一: 函数的参数分为两大类:
形式参数(形参): 在定义函数阶段,括号内定义的参数/变量名称为形参 实际参数(实参): 在调用函数阶段,括号内传入的值/变量值称为实参ps: 在调用函数阶段会将实参(值)的值绑定给形参(变量名),这种绑定关系只在调用函数时生效,在函数执行完毕后就会解除绑定1. 位置参数:
1.1 位置形参: 在定义阶段,按照从左到右的顺序依次定义的形参称之为位置形参 特点: 但凡时按照位置定义的形参,必须被传值,多一个不行少一个也不行1.2 位置实参: 在调用阶段,按照从左到右的顺序依次传入的值称之为位置实参
特点: 1. 与形参一一对应 关键字实参: 在调用阶段,按照key=value的形式定义的实参称之为关键字实参特点: 可以完全打乱顺序,但仍然能为指定的形参传值(总结:指名道姓地为指定的形参传值)1.2默认形参:在定义阶段,就已经为形参赋值,改形参称之为默认参数。
特点:1定义阶段就已经有值以为着调用阶段可以不用传值
2.位置形参必须放到默认形参的前面
3.默认形参的值在函数阶段就已经固定死了,定义阶段之后的改动不会影响该值。
4.默认形参的值通常应该是不可变类型
5.实参的形式可以是位置实参与关键字实参混合使用,但是必须遵循原则
1.位置实参必须放在关键字实参的前面 2.不能对同一个形参重复传值
*的用法:
在形参前加上*,会将实参传的溢出的值以元组的形式储存,并赋值给*后的形参名
**的用法
在形参前加上**,会将实参传的溢出的值以字典的形式储存,并赋值给*后的形参名