📜  在 python 中返回最多三个值(1)

📅  最后修改于: 2023-12-03 15:07:47.285000             🧑  作者: Mango

在 Python 中返回最多三个值

在 Python 中函数可以返回一个值或多个值。本文将重点介绍如何在 Python 函数中返回最多三个值。

返回一个值

Python 中函数可以直接返回一个值,例如:

def add(a, b):
    return a + b

result = add(1, 2)
print(result)  # 输出 3
返回多个值

Python 中还可以返回多个值,例如:

def multiply_and_divide(a, b):
    return a * b, a / b

result1, result2 = multiply_and_divide(4, 2)
print(result1)  # 输出 8
print(result2)  # 输出 2.0

上述例子使用逗号分隔符返回多个值,并使用拆包 (unpacking) 的方式将多个值分配给变量。

返回一个元组

如果需要返回超过两个值,推荐将它们放入一个元组 (tuple) 中返回,例如:

def add_multiply_divide(a, b, c):
    return a + b, a * b, a / c

result = add_multiply_divide(1, 2, 3)
print(result)  # 输出 (3, 2, 0.33333)

注意,即使只返回一个值,Python 也会自动将其转换为元组。

限制返回值数量

在某些情况下,我们可能只需要函数返回最多三个值。这时,我们可以使用元组分片 (tuple slicing) 的方法限制返回值数量,例如:

def add_multiply_divide(a, b, c):
    return a + b, a * b, a / c, a - c

result1, result2, result3 = add_multiply_divide(1, 2, 3)[:3]
print(result1)  # 输出 3
print(result2)  # 输出 2
print(result3)  # 输出 0.33333

上述例子使用分片 [0:3] 保留了元组的前三个元素,后面的元素被删除了。 注意,使用这种方法需要确保返回的元组至少有三个元素。

使用 _ 忽略不需要的值

在某些情况下,我们可能只需要函数返回部分值。这时,我们可以使用 _ 忽略不需要的值,例如:

def add_multiply_divide(a, b, c):
    return a + b, a * b, a / c, a - c

result1, result2, _ = add_multiply_divide(1, 2, 3)
print(result1)  # 输出 3
print(result2)  # 输出 2

如上例,我们使用 _ 忽略了第三个返回值。

结论

Python 中函数可以返回一个值或多个值。 使用元组可以方便地返回多个值。 如果需要返回的值数量超过三个,就需要把这些值放入一个元组中返回。 若要限制返回值数量,可以使用元组分片或 _ 忽略不需要的值。