函數返回值:Python如何讓函數“輸出”結果?

函數返回值是Python中讓函數“輸出”結果的關鍵機制。想象你定義了一個函數處理數據(比如計算兩數之和),但如果只靠print,結果只能顯示在屏幕上,無法被後續代碼使用。而返回值能把函數內部的計算結果“傳遞”到外部,讓你可以繼續處理或存儲這個結果。

1. 最簡單的返回值:用return輸出結果

要讓函數返回結果,需要在函數內部用return語句。比如定義一個計算兩數之和的函數:

def add(a, b):
    result = a + b  # 計算兩數之和
    return result   # 返回結果給外部

# 調用函數,接收返回值
sum_result = add(3, 5)
print(sum_result)  # 輸出:8(結果被存儲在sum_result中)

這裏return result就是函數的“輸出”操作,add(3,5)會返回8,並被賦值給sum_result變量。

2. 爲什麼需要返回值?對比print

很多初學者會混淆printreturnprint只是“打印”結果到屏幕,而return能讓結果被後續代碼使用:

# 用print的情況(結果無法被後續計算)
def print_sum(a, b):
    print(a + b)  # 只打印,不返回

print_sum(2, 3)  # 輸出:5,但無法存儲結果

# 用return的情況(結果可被後續使用)
def return_sum(a, b):
    return a + b  # 返回結果

sum_2 = return_sum(2, 3)
sum_3 = return_sum(4, 5)
total = sum_2 + sum_3  # 可以繼續計算
print(total)  # 輸出:14(2+3=5,4+5=9,5+9=14)

3. 沒有return時,函數返回什麼?

如果函數中沒有return語句,Python會默認返回None(表示“空”或“無”):

def no_return(a, b):
    a + b  # 只計算,沒有return

result = no_return(1, 2)
print(result)  # 輸出:None(無法被後續計算)
print(result * 3)  # 報錯!因爲None不能乘以3

結論:要讓函數有“輸出結果”,必須用return返回需要的值。

4. 返回不同類型的數據

函數返回值可以是任何類型:數字、字符串、列表、字典等。

# 返回字符串
def get_greeting(name):
    return f"Hello, {name}!"  # 返回字符串

greet = get_greeting("小明")
print(greet)  # 輸出:Hello, 小明

# 返回列表
def get_numbers():
    return [1, 3, 5, 7]  # 返回列表

nums = get_numbers()
print(nums[0])  # 輸出:1(訪問列表第一個元素)

5. 返回多個值(用逗號分隔)

Python函數可以同時返回多個值(本質是返回一個元組),調用時用多個變量接收:

def get_user_info():
    name = "小紅"
    age = 20
    gender = "女"
    return name, age, gender  # 返回多個值(元組)

# 解包賦值給多個變量
user_name, user_age, user_gender = get_user_info()
print(f"姓名:{user_name},年齡:{user_age},性別:{user_gender}")
# 輸出:姓名:小紅,年齡:20,性別:女

如果只需要部分值,可以用_忽略不需要的返回值:

name, _, gender = get_user_info()  # 忽略年齡
print(f"姓名:{name},性別:{gender}")  # 輸出:姓名:小紅,性別:女

6. 注意:return後函數立即停止

一旦函數執行到return,後面的代碼就不會運行:

def early_return():
    return "我是第一個返回值"
    print("這句話永遠不會執行!")  # return後函數終止

print(early_return())  # 輸出:我是第一個返回值

小練習

試着寫一個函數calculate_stats(numbers),接收一個列表numbers,返回該列表的“平均值”和“最大值”。調用函數並打印結果。

提示:可以用sum()計算總和,max()取最大值,再用return返回兩個值。


總結:函數返回值通過return實現,能讓函數結果被後續代碼使用;return可返回任意類型(包括多個值);沒有return時函數默認返回None。掌握返回值是Python編程的基礎技能,能讓你的代碼更靈活!

小夜