一、定义
1 def 函数名(参数): 2 3 ... 4 函数体 5 ... 6 返回值
函数的定义主要有如下要点:
- def:表示函数的关键字
- 函数名:函数的名称,日后根据函数名调用函数,用引号标记即可
- 函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等...
- 参数:为函数体提供数据
- 返回值:当函数执行完毕后,可以给调用者返回数据。
def test(x): "这是一个函数" #注释 y = 2*x+1 return y a = test(2) print(a)
二、def test(x,y,z)函数
1、一旦遇到return,函数马上结束
2、位置参数,必须要一一对应
def test(x,y,z): q = x+y+z return(q) a = test(1,2) print(a)
输出结果:
TypeError: test() missing 1 required positional argument: 'z'
3、关键字参数,无需一一对应,缺一不行多一行也不行
def test(x,y,z): q = x+y+z return(q) a = test(z=2,y=1,x=5) print(a)
输出结果:8
PS:test(1,3,z=2) #位置和关键字参数混搭,关键字参数必须在位置参数右边
4、默认参数
def test(x,type='xx') #type='xx'这部分就是默认参数
5、参数组: **kwargs字典 *args列表
def test(x,*args,**kwargs) :
···
···
···
test (1,*[1,2,1],**{'y':1})
三、return结果
无return->None return
1个值->返回1个值
return 逗号分隔多个值->元组
什么时候该有返回值?
调用函数,经过一系列的操作,最后要拿到一个明确的结果,则必须要有返回值
通常有参函数需要有返回值,输入参数,经过计算,得到一个最终的结果
什么时候不需要有返回值?
调用函数,仅仅只是执行一系列的操作,最后不需要得到什么结果,则无需有返回值
通常无参函数不需要有返回值