在Python中,函数可以通过返回一个元组(tuple) 来间接实现返回多个值的效果。以下是具体说明:
实现方式:
-
直接返回逗号分隔的值
Python会自动将这些值打包成一个元组:def multiple_return():a = 1b = "hello"c = [2, 3]return a, b, c # 等价于 return (a, b, c)
-
接收返回值时的解包操作
调用函数时,可以用多个变量直接接收元组中的值:num, text, lst = multiple_return() print(num) # 输出: 1 print(text) # 输出: "hello" print(lst) # 输出: [2, 3]
其他方法:
-
返回列表或字典(灵活性更高,但需额外括号):
def return_list():return [1, "hello", [2, 3]]def return_dict():return {"num": 1, "text": "hello", "lst": [2, 3]}
-
忽略部分返回值(用下划线占位):
num, _, lst = multiple_return() # 忽略第二个返回值
底层原理:
实际返回的仍是单个对象(一个元组),但Python的解包语法(unpacking)让多个赋值操作更简洁。例如:
result = multiple_return() # result是一个元组:(1, 'hello', [2, 3])
print(type(result)) # <class 'tuple'>
总结:
- ✅ 支持多值返回:通过返回元组并配合解包语法实现
- ✅ 直接写法:
return val1, val2, val3
- ✅ 接收写法:
var1, var2, var3 = func()
📌 示例:
def get_user():name = "Alice"age = 30score = 95.5return name, age, scoren, a, s = get_user() # 一次性接收三个返回值
这种方法简洁高效,是Python编程中的常见实践。