📜  如何从一个函数返回多个值?(1)

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

如何从一个函数返回多个值?

在某些情况下,我们可能需要从一个函数中返回多个值。在 Python 中,实现这个功能有多种方法。

方法一:使用元组
def return_multiple_values():
    return 1, 2, 3

x, y, z = return_multiple_values()
print(x, y, z)  # 输出:1 2 3

在上面的代码中,我们使用了一个元组来返回多个值。函数实际上返回了一个元组,但由于 Python 中的元组可以通过解包操作(使用多个变量接收元组中的值)来进行多元素赋值,因此我们可以将这个元组的结果解包成多个变量。

方法二:使用列表
def return_multiple_values():
    return [1, 2, 3]

x, y, z = return_multiple_values()
print(x, y, z)  # 输出:1 2 3

在这个示例中,我们使用了一个列表来返回多个值。由于列表是可迭代的,我们实际上可以将列表的元素解包成多个变量。

方法三:使用字典
def return_multiple_values():
    return {'x': 1, 'y': 2, 'z': 3}

result = return_multiple_values()
print(result['x'], result['y'], result['z'])  # 输出:1 2 3

在这个示例中,我们使用一个字典来返回多个值。我们将每个返回值都存储在字典的不同字段中,然后通过使用字典的键来访问每个返回值。

方法四:使用类/对象
class ReturnValue:
    def __init__(self, x, y, z):
        self.x = x
        self.y = y
        self.z = z

def return_multiple_values():
    return ReturnValue(1, 2, 3)

result = return_multiple_values()
print(result.x, result.y, result.z)  # 输出:1 2 3

在这个示例中,我们定义了一个 Python 类来保存多个返回值。我们在函数中创建一个新的 ReturnValue 对象并将其返回,然后使用该对象的属性来访问每个返回值。

无论你使用哪种方法,都可以从一个函数中返回多个值。但是,对于大多数情况,元组可能是最方便的方法,因为它看起来最简洁。