函数的多返回值
按照返回值的顺序,
写对应顺序的多个变量接受即可,
变量之间用逗号隔开,支持不同类型的数据return
def test_return(): return 1, 2, 3 x, y, z = test_return() print(x) print(y) print(z)
函数参数种类
使用方式上的不同,函数有4中常见参数使用方式
位置参数
直接按照参数的位置顺序一一输入
关键字参数
在传参的时候把名字打上就可以打乱顺序
def userInfo(name, age, gender): print(f"姓名:{name},年龄:{age},性别:{gender}") userInfo("傻逼", 18, "男") userInfo(name="小米", gender="男", age=20)
缺省参数
给形参一个默认值,不传参就用默认值,默认参数可以覆盖
不定长参数
可变参数,用于不确定调用的时候会传递多少个参数(不传参也可以)的场景
类型:
1.位置传递
传进去的参数形成元组
def user_info(*args): print(f"args参数的类型是{type(args)},内容是{args}") user_info(1, 2, 3, "sb", True) # args参数的类型是,内容是(1, 2, 3, 'sb', True)
2.关键字传递
形成字典
def user_info(**kwargs): print(f"args参数的类型是{type(kwargs)},内容是{kwargs}") user_info(name="sb", age=14, gender="男") # args参数的类型是,内容是{'name': 'sb', 'age': 14, 'gender': '男'}
匿名函数
函数作为参数传递
跟Java一样
def test_fun(compute): result = compute(1, 2) print(type(compute)) print(result) def compute(x, y): return x + y test_fun(compute)
lambda函数
定义匿名函数
只能临时使用一次
lambda 传入参数:函数体(一行代码)
def test_fun(compute): result = compute(1, 2) print(type(compute)) print(result) # def compute(x, y): # return x + y test_fun(lambda x, y: x + y)