行者孙Python

内功篇-Day34 函数多个返回值

📖 知识点

语法

def 函数名(参数):
    逻辑代码
    return 值1, 值2, 值3   # 多个返回值,逗号隔开

# 调用:多个变量接收返回结果,一一对应
var1, var2, var3 = 函数名(实参)

核心要点:

  1. return 后写多个数据,用逗号分隔,Python 会自动打包为元组 (tuple)返回
  2. 接收时变量数量,要和 return 返回值数量保持一致,否则报错
  3. 也可以只用单个变量接收,此时拿到的是一个元组
  4. 执行到 return,函数依旧立刻终止,后面代码不再运行

示例代码

def get_rect_info(width, height):
    area = width * height
    perimeter = (width + height) * 2
    # 同时返回面积、周长两个结果
    return area, perimeter

# 多变量接收
s, p = get_rect_info(10, 5)
print(f"矩形面积:{s},周长:{p}")

# 单变量接收,得到元组
res = get_rect_info(10,5)
print("打包后的元组:", res)

输出:

矩形面积:50,周长:30
打包后的元组: (50, 30)

🥋 Kata 实战任务

编写函数 calc_two(num) 需求:

  1. def 定义函数,形参 num
  2. 函数内部计算两个结果:平方 num**2,平方根近似 num**0.5
  3. 使用 return 同时返回平方、平方根两个值
  4. 调用函数传入数字 16,用两个变量分别接收结果
  5. 在函数外部打印:数字16,平方=XX,平方根=XX

✅ 参考代码

def calc_two(num):
    square = num ** 2
    sqrt_num = num ** 0.5
    return square, sqrt_num

# 接收两个返回值
s_result, sqrt_result = calc_two(16)
print(f"数字16,平方={s_result},平方根={sqrt_result}")

运行输出:

数字16,平方=256,平方根=4.0

🤔 思考题

  1. 如果返回 2 个值,但接收只写 1 个变量,拿到的数据类型是什么?
  2. 如果 return 返回 2 个值,但是用 3 个变量去接收,运行会发生什么?
‹ 返回目录
🏠首页 Python 📦资源 👤关于我