1.函数
1.1 return的作用
把函数处理结果返回
结束函数,函数里面遇到return立马结束
1.2 return包含多个值
返回多个值时,系统用一个元组来接收多个返回值,示例如下:
1 defget_user():2 s='abc,123'
3 username,password=s.split(',')4 returnusername,password5
6 a=get_user()7 print(a)
输出结果为:('abc', '123'),a的类型为一个元组
1.3函数的参数类型详解
位置参数、默认参数、可变参数、关键字参数
必填参数,位置参数,必传
默认值参数,非必传,默认参数调用的时候,既可以按顺序提供默认参数,也可以不按顺序提供部分默认参数。当不按顺序提供部分默认参数时,需要把参数名写上
可变参数,非必传,允许传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。形参使用*args形式
关键字参数,非必传,允许传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。形参使用**args形式,传参的时候必须得用k=v这种形式来传
一个默认参数的函数例子
1 #一个读写文件的函数,传入content则写入,不传则读取文件
2 def op_file(filename,content=None):3 with open(filename,'a+',encoding='utf-8') as fw:4 fw.seek(0) #移动文件指针
5 ifcontent:6 fw.write(content) #指针移动到文件头部,还是会追加到文件末尾
7 else:8 return fw.read()
一个可变参数的函数例子
1 def mysql2(*info):2 print(info)3 mysql2() #转为一个空元组传入
4 #mysql2(user='root') #调用方法错误
5 mysql2('root',123) #输出('root', 123),转为元组传入函数
6 info=[1,2]7 mysql2(*info) #将list中的元素拆开传入函数,输出(1,2)
8
9 def calc(a,b): #只有位置参数的函数
10 print(a+b)11 return a+b12 l=[1,2]13 calc(*l) #也可以这样传参,将list中的元素拆开传入函数,输出3
一个关键字参数的函数例子
1 def mysql(**mysql_info):2 print(mysql_info)3
4 mysql() #传入一个空字典&