当前位置:首页>python>Python 函数返回值 & 返回多个值

Python 函数返回值 & 返回多个值

  • 2026-10-09 16:36:25
Python 函数返回值 & 返回多个值

return 用来把函数内部运算结果交给函数调用处,函数一旦执行到 return,函数立刻结束,后面代码不会执行。

1. 返回单个值

defadd(a, b):
    res = a + b
return res   # 返回一个值

result = add(3,5)
print(result) # 8

如果函数没有写 return,默认返回 None

deftest():
    print("hello")

r = test()
print(r) # None

2. return 提前结束函数

defcheck_num(n):
if n < 0:
return"负数"
    print("继续执行代码")
return"非负数"

print(check_num(-2))

只要触发 return,函数直接退出,后续代码不再运行。

3. 返回多个值(重点)

Python 函数可以直接写多个返回值,用逗号隔开,本质返回的是元组 tuple。

示例1:直接返回多个变量

defcalc(a, b):
    he = a + b
    cha = a - b
    cheng = a * b
# 返回多个值,逗号分隔
return he, cha, cheng

# 接收多个返回值:解包赋值
s, c, m = calc(10, 3)
print(s)   # 13
print(c)   # 7
print(m)   # 30

本质上,return he, cha, cheng 等价于 return (he, cha, cheng),返回一个元组。

方式2:用一个变量接收,得到元组

res = calc(10,3)
print(res)        # (13, 7, 30)
print(type(res))  # <class 'tuple'>

注意:接收变量数量必须匹配

# 3个返回值,只能用3个变量接收,数量不对会报错
# s,c = calc(10,3)  # 报错:值过多无法解包

可以用 * 收集多余返回值:

a, *rest = calc(10,3)
print(a)      #13
print(rest)   #[7,30]

4. 返回列表 / 字典实现多返回

除了直接逗号返回(元组),也可以返回列表、字典,适合返回字段含义复杂的数据。

返回列表

defget_info():
    name = "张三"
    age = 20
return [name, age]

info = get_info()
print(info[0], info[1])

返回字典(可读性最好,推荐)

defget_info():
return {"name":"张三", "age":20, "gender":"男"}

data = get_info()
print(data["name"])
print(data["age"])

5. return None 的几种情况

  1. 函数不写 return,默认 return None
  2. return 后面什么都不写:return,等价返回 None
defdemo():
return

print(demo()) # None

完整小练习

# 输入两个数,返回和、差、积、商
defmath_op(x,y):
    add_res = x + y
    sub_res = x - y
    mul_res = x * y
    div_res = x / y
return add_res, sub_res, mul_res, div_res

a,b,c,d = math_op(20,4)
print(f"和:{a},差:{b},积:{c},商:{d}")

小结

  1. return:结束函数,向外返回数据;不写 return 返回 None
  2. 返回多个值:return x,y,z,底层是元组,可以用多个变量解包接收
  3. 接收返回值变量个数要和返回数量匹配,否则报错
  4. 如果数据复杂,优先返回字典,代码可读性更高。

最新文章

随机文章