函数多返回值
函数返回多个返回值格式
def 函数名():
return 1,2,......,n
x,x1,......xn=函数名()
按顺序接受
函数的多种传参方式
位置参数:调用函数时根据函数定义的参数位置来传递参数
传递的参数和定义的参数的顺序及个数必须一致
关键字参数:函数调用时通过"键=值"形式传递参数
作用:可以让函数更加清晰、容易使用,同时也清除了参数顺序需求
调用时,有位置参数时,位置参数必须在关键字参数前,但关键字参数不存在先后顺序
缺省参数:也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可以部传递该默认参数的值(所有位置参数必须出现在默认参数前,包括函数定义和调用)
不定长参数:也叫可变参数,用于不确定调用时会传递多少参数的场景
不定长参数类型:位置传递,关键字传递
传递的所有参数都会被args变量收集,他会根据传参的位置合并为一个元组,args是元组类型,这就是位置传递
参数是“键=值”的形式,所有的“键=值”都会被kwargs接受,同时会根据“键=值”组成字典
#函数返回多个返回值格式
#def 函数名():
#return 1,2,......,n
#x,x1,......xn=函数名()
#按顺序接受
def test():
return 1,2
x,y=test()
print(x,y)
#位置参数:调用函数时根据函数定义的参数位置来传递参数
#传递的参数和定义的参数的顺序及个数必须一致
def test01(name,age,gender):
print(f"名字是{name},年龄是{age},性别{gender}")
test01("张三",15,"男")
#关键字参数:函数调用时通过"键=值"形式传递参数
#作用:可以让函数更加清晰、容易使用,同时也清除了参数顺序需求
#调用时,有位置参数时,位置参数必须在关键字参数前,但关键字参数不存在先后顺序
test01(name="李四",age=18,gender="男")
test01("王五",age=19,gender="男")
#缺省参数:也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可以部传递该默认参数的值(所有位置参数必须出现在默认参数前,包括函数定义和调用)
def test02(name,age,gender="男"):
print(f"名字是{name},年龄是{age},性别{gender}")
test02("赵六",10)
test02("赵六",18,"女")
#不定长参数:也叫可变参数,用于不确定调用时会传递多少参数的场景
#不定长参数类型:位置传递,关键字传递
#传递的所有参数都会被args变量收集,他会根据传参的位置合并为一个元组,args是元组类型,这就是位置传递
def test03(*args):
print(args)
arr=args
test03("李四",18,"男")
#参数是“键=值”的形式,所有的“键=值”都会被kwargs接受,同时会根据“键=值”组成字典
def test04(**kwargs):
print(kwargs)
test04(name="lily",age=19,gender="女")
函数作为参数传递
是一种计算逻辑的传递,而非数据的传递
任何逻辑都能自行定义并作为函数传入
def compute(x,y):
return x+y
def test01(compute):
result=compute(2,4)
print(result)
#调用
test01(compute)#6
lambda匿名函数
def关键字,可以定义带有名称的函数
lambda关键字,可以定义匿名函数(无名称)
有名称的函数,可以基于名称重复使用
无名称的匿名函数,只可以临时使用一次
定义语法:
lambda 传入参数:函数体(一行代码)
只能写一行,只能使用一次