# 函数多返回值
| def test_return(): |
| return 1, 2 |
| x, y = test_return() |
| print(x) |
| print(y) |
- 按照返回值的顺序,写对应顺序的多个变量即可
- 变量之间用逗号隔开
- 支持不同类型的数据 return
# 函数多种传参方式
# 位置参数
# 定义
调用函数时根据函数定义参数的位置来传递参数
# 代码
| def user_info(name, age, gender): |
| print(name, age, gender) |
| user_info('baozi', 20, '男') |
# 关键字参数
# 定义
- 函数调用时通过通过 "键 = 值" 形式传递参数
- 可以使函数更加清晰、容易使用,同时清除了参数的顺序需求
# 代码
| def user_info(name, age, gender): |
| print(name, age, gender) |
| |
| user_info(name="baozi", age=18, gender="男") |
| |
| user_info(age=20, gender="男", name="baozi") |
| |
| user_info("baozi", age=20, gender="男") |
# 不定长参数
# 定义
- 不定长参数也叫可变参数,用于不确定调用的时候会传递多少个参数的场景
- 当调用函数时不确定参数个数时,可以使用不定长参数
# 位置传递
| def user_info(*args): |
| print(args) |
| user_info("baozi") |
| user_info("baozi", 18) |
传进的所有参数都会被 args 变量收集,它会根据传进参数的位置合并为一个元组(tuple),args 是元组类型,这就是位置传递
# 关键字传递
| def user_info(**kwargs) |
| print(kwargs) |
| user_info(name="baozi", age=18, gender="男") |
参数是 "键 = 值" 形式的形式情况下,所有的 "键 = 值" 都会被 kwargs 接受,同时会根据 "键 = 值" 组成新的字典
# 缺省参数
# 定义
- 缺省参数也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可不传递默认参数值,所有位置参数必须出现在默认参数前,包括函数定义和调用
- 当调用函数没有传递参数,就会使用默认是缺省参数对应的值
# 代码
| def user_info(name, age, gender): |
| print(name, age, gender="男") |
| user_info("baozi", 20) |
# 匿名函数
# 函数作为参数传递
# 代码
| def test_func(compute): |
| result = compute(1, 2) |
| print(result) |
| def compute(x, y): |
| return x + y |
| test_func(compute) |
# 作用
- 函数本身是可以作为参数,传入另一个函数进行使用的
- 将函数传入的作用在于:传入计算逻辑,而非传入数据
# Lambda 匿名函数
# 定义
- lambda 关键字,可以定义匿名函数
- 传入参数表示匿名函数的形式参数
- 函数体,就是函数的执行逻辑,只能写一行
lambda 传入参数: 函数体(一行代码)
# 代码
| def test_func(compute): |
| result = compute(1, 2) |
| print(result) |
| test_func(lambda x, y: x + y) |