八、函数
一、内置函数
1、如何查看内置函数的定义:help(print)
2、函数的作用
1)功能性
2)隐藏细节
3、避免编写重复的代码
3、常见的内置函数
print()
round()
二、自定义函数
1)先定义后使用
2)自定义的函数名不能和python的内置函数同名
3)参数可以为空或多个
4)可以无返回,返回None,返回单个结果,返回多个结果
无返回=返回None
三、多个返回值的情况
1、定义
def function(parametor_list):
...
return res1,res2
2、调用
r=function(parametor_list)
r是元组类型,用多个变量接收
res1,res2=function(parametor_list)
四、序列解包与链式赋值
1、序列解包
把一个元组(包)拆成一个序列值,并用多个变量接收。即一次给多个变量赋多个值,基本方法就是一次性将一个元组赋值给多个变量。
注意:变量个数和元组个数要相等
d=tuple(1,2,3)
a,b,c=d
等价于
a,b,c=1,2,3
等价于
a=1
b=2
c=3
2、链式赋值:同时对几个变量进行赋值
以下三种代码等价
a=1
b=1
c=1
a,b,c=1,1,1
a,b,c=1
a,b,c=1称为链式赋值
五、必须参数与关键字参数
1 # coding=utf-8 2 3 # 定义 4 def add(x, y): 5 # x,y是必须参数 6 res = x + y 7 return res 8 9 10 # 调用 11 c = add(1, 2) 12 print(c) 13 14 d = add(y=1, x=2) # y=1,x=2称为关键字参数 15 print(d)
必须参数:在函数的参数列表中定义的参数,调用时按顺序传入
关键字参数:调用时明确实参、形参的对应关系,即形参=实参,可不考虑顺序。
区别:调用时输入参数的格式
六、默认参数
1 #coding=utf-8 2 3 #不使用默认参数 4 # def print_student_files(name,gender,age,college): 5 # print('我叫'+name) 6 # print('我今年'+str(age)+'岁') 7 # print('我是'+gender+'生') 8 # print('我在'+college+'上学') 9 10 #使用默认参数 11 def print_student_files(name,gender='男',age=9,college='人民路小学'): 12 print('我叫'+name) 13 print('我今年'+str(age)+'岁') 14 print('我是'+gender+'生') 15 print('我在'+college+'上学') 16 17 # #默认参数必须放在参数列表最后,否则报错SyntaxError: non-default argument follows default argument 18 # def print_student_files(name,gender='男',age=9,college): 19 # print('我叫'+name) 20 # print('我今年'+str(age)+'岁') 21 # print('我是'+gender+'生') 22 # print('我在'+college+'上学') 23 24 25 print_student_files('鸡小萌','男',8,'人民路小学') 26 print_student_files('小明') 27 print_student_files('李雷') 28 print_student_files('韩美美','男',8,) 29 print_student_files('王强') 30 print_student_files('鸡小萌',age=8) 31 #如下传参不允许 32 print_student_files('果果',8)#会按顺序将8作为gender参数传入 33 34 print_student_files('鸡小萌',gender='男',8,college='人民路小学')#必须参数不能放在关键字参数后面
注意:
1、定义时:默认参数必须放在必须参数后面
2、调用时:关键字参数必传放在必须参数后面