在 Python 编程中,函数返回值有多个时,我们可以通过拆包(unpacking)的形式对返回值进行分开处理。这样做可以快速使用每个数据,并且代码更加简洁易读。
1. 函数返回值拆包
函数返回值拆包有两种方式,分别是通过返回值拆包和通过下标使用。以一个返回三个值的函数为例:
# 方式一:通过返回值拆包
def func():
return 11, 22, 33
a, b, c = func()
print(f'a = {a}')
print(f'b = {b}')
print(f'c = {c}')
print(f'a + b + c = {a+b+c}')
#输出结果
a = 11
b = 22
c = 33
a + b + c = 66
# 方式二: 不通过返回值拆包,通过下标使用
ret = func()
print(f'ret1 = {ret[0]}')
print(f'ret2 = {ret[1]}')
print(f'ret3 = {ret[2]}')
#输出结果
ret1 = 11
ret2 = 22
ret3 = 33
2. 使用 * 拆包
除了函数返回值,我们还可以利用 *
进行拆包。以一个接收三个参数的函数为例:
def func(a, b, c):
print(a + b + c)
我们可以将一个列表或元组拆包成独立的参数,例如:
num1 = [22, 33, 44]
func(*num1) # 相当于 func(22, 33, 44),输出结果为 99
num2 = [11, 22, 33]
func(*num2) # 相当于 func(11, 22, 33),输出结果为 66
3、对字典进行拆包
除了列表和元组,我们还可以拆包字典。以一个接收三个关键字参数的函数为例:
def func(name, age, sex):
print(f'名字:{name},年龄:{age},性别:{sex}')
# 可以使用 ** 将一个字典拆包成独立的关键字参数
info = {
"name": "JackFu",
"age": 18,
"sex": "男",
}
func(**info)
通过函数返回值拆包、使用 * 进行拆包和对字典进行拆包,我们可以更加方便地调用函数并处理数据。