在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編程中的常見實踐。