函数返回值: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编程的基础技能,能让你的代码更灵活!

Xiaoye