20 分钟
Python 入门

参数与返回值

掌握函数参数传递和 return 返回值

  • 掌握函数参数
  • 理解 return 的作用
  • 函数可以返回多个值

return 返回值

return 把函数的计算结果返回给调用者:

示例代码(可运行)
⚠️print 和 return 的区别

print 只是把东西显示在屏幕上,return 是把结果交回给调用者。函数没有 return 就返回 None。

🐍资深工程师经验谈

函数设计的第一原则:单一职责。一个函数只做一件事,名字能说明它做什么。好的函数通常不超过 20 行,参数不超过 3 个。如果一个函数叫 process_data() 又读文件、又计算、又写数据库,那它应该拆成三个函数。另外,函数应该尽量没有「副作用」——给定相同输入,永远返回相同输出,且不修改外部状态。这样的函数最容易测试和调试。

预测输出
def multiply(a, b):
    return a * b

print(multiply(3, 4))
print(multiply(2, "ab"))

return 后函数立即结束

示例代码(可运行)

返回多个值

示例代码(可运行)

函数作为判断工具

示例代码(可运行)
找 Bug函数里写了 print 没写 return,返回值就是 None。拿 None 去加 1,直接报错。
def square(x): print(x * x) y = square(5) print(y + 1)
填空题填写空白处的代码
def add(a, b): a + b print(add(3, 4))
选择题

没有 return 的函数返回什么?

选择题

def f(a, b=10): 调用 f(5) 时 b 的值是?

选择题

return a, b 返回的是什么?

资深工程师加餐

底层原理 · 大厂视角 · 工程经验,点卡片展开

print 把对象交给 sys.stdout 写出,显示时默认调用对象的 __str__;在交互环境直接回显变量走的是 __repr__(更偏「给开发者看的表示」)。sep 改分隔符、end 改结尾、file 可重定向到文件。面试常追问:生产环境为什么用 logging 而不是 print?因为日志有级别、能落盘、可结构化、可统一关闭,print 只适合临时调试。

挑战任务

圆面积函数

简单+50 XP

写 circle_area(radius) 返回圆面积(π取3.14)。

圆面积函数
2 个测试用例

课后作业

BMI 函数

中等+20 XP

写 bmi(weight, height) 返回 BMI 值。

BMI 函数
1 个测试用例