一、函数的基本使用
1、什么是函数?
在程序中,具备某一个功能的工具指的就是函数,事先准备工具的过程就是就函数的定义,拿来就用就是函数的调用
2、函数定义
函数的使用必须遵循先定义后使用的原则,函数的定义就是相当于事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数名就是这段代码的引用,没有事先定义函数就直接调用,相当于在引用一个不存在的变量名
定义函数的语法:
def 函数名 (参数1,参数2,参数3,...): “““文档描述””” 函数体 return 返回值
函数三种类型:
⑴、无参函数
打印输出 def func(): print('abx')
⑵、空函数
def func1(): pass def func2(): pass ...
⑶、有参函数
# 输入a + b的值 def func(a,b): print(a+b)
3、函数的调用与返回值
函数是先定义,后调用,函数在调用前,只检查语法,不执行任何代码
函数的调用:
直接调用
定义变量接收,再返回变量
将函数返回值当做另外一个函数参数
返回值:return
return是一个函数结束标志,只要执行到return,函数结束
return多个值时,将返回多个值默认存入元组,函数返回不想被修改
4、函数参数
形参:是函数定义阶段规定的参数,相当于变量名
实参:是函数调用阶段传递的参数,相当于变量值
def func(a) # 此处a就是形参 pass a = 1 func(a) # 此处a就是实参
位置参数:通过位置进行传参
def func(a,b,c) pass fun(1,2,3) # 位置参数,a=1,b=2,c=3
关键字参数:指定参数进行传递
def func(a,b) pass func(a=1,b=2)
ps:关键字参数要在位置参数后,连用时候不要对同一形参赋值
默认参数:在定义阶段就已经传入
如果在实参时候传入一个新参数,就会使用新参数
默认参数在传值时,不要将可变类型当做参数
def func(a,b,c=0) # 此处c就是默认参数,默认c=0 pass func(1,2) # 使用默认参数,传进去为a=1,b=2,c=0 func(1,2,3) 使用新参数,a=1,b=2,c=3
可变长参数:*args
接收所有溢出位置参数
接收的值都被存入一个元组
*:打散传入的容器类型
**kwargs
接收所有溢出的关键字参数
接收的值都被存入一个字典
def func(x,y,z): pass func(1,2,3,4,5) #接收的位置参数大于形参数,会报错 func(a=1,b=2,c=3,d=4,e=5) #接收的关键字参数溢出,报错 # 使用*args def func(a,b,c,*args): pass func(1,2,3,4) #使用**kwargs def func(a,b,c,**kwargs): pass func(a=1,b=2,c=3,d=4,e=5)