函数的进阶使用
1.函数的多返回值
def fun():
return 1,2,3
a,b,c=fun()
print(a)# 1
print(b)# 2
print(c)# 3
2.函数的多种参数使用
# 1.位置参数 2.关键字参数 3.缺省参数 4.不定长参数
def fun(name,age,gender):
print(f"姓名:{name} 年龄:{age} 性别:{gender}")
# 1.位置参数
fun("蓝幽","22","男")# 姓名:蓝幽 年龄:22 性别:男
#2.关键字参数
fun(age=21,name="lanyou",gender="男") #姓名:蓝幽 年龄:22 性别:男 一样的结果,但是可以乱序
#3.缺省参数,注意,默认值一直要放到函数括号内后面,否则会报错
def fun1(name,age,gender="男"):
print(f"姓名:{name} 年龄:{age} 性别:{gender}")
fun1("lanyou",22)# 姓名:蓝幽 年龄:22 性别:男 因为有默认值,使用不需要为性别传参数
# 4.不定长参数 可以传入任意个参数,但输出为元组形式
def fun2(*args):
print(args)
fun2(1,2,3,4,"name") #(1, 2, 3, 4, 'name')
# 这种两个*的不定长同样可以传任意个参数,但必须为键值对的形式,输出为字典的形式
def fun3(**kwargs):
print(kwargs)
fun3(name="lanyou",age=23,gender="男")
#{'name': 'lanyou', 'age': 23, 'gender': '男'}
3.作为参数传递
def fun(x,y):
return x+y
def fun1(fun):
a=fun(1,2) # 传入函数,也就是逻辑结构,往常传入的是数据
print(a)
fun1(fun)
4.lambda匿名函数
#lambdy 参数: 函数体
def fun(an):
b=an(1,2)
print(b)
fun(lambda x,y:x+y )
#更加简洁