这套课程按知识依赖排列。本篇的前置知识是:第 22 篇。学完后,你应该能够设计有输入和输出的函数。
本篇要解决的问题
本篇只处理“参数、返回值与局部变量”这一件事。示例基于 Python 3.14.6,在 macOS 环境核验;除明确标注的终端命令外,代码本身只使用 Python 标准能力。
先看清一个容易误解的细节
调用时实参绑定到形参,函数在自己的局部范围内计算,return 把结果交还给调用方。打印和返回承担不同职责。
核心概念
- 形参出现在函数定义中,实参出现在函数调用中。
- 局部变量默认只在函数内部可见。
- 没有显式
return的函数会返回None。
跟着示例运行
把下面代码保存到本课脚本并运行:
def calculate_total(price, count):
total = price * count
return total
result = calculate_total(25, 4)
print(result)
预期结果:
100
输出中包含环境路径、集合元素或日志格式时,具体文字和顺序可能随本机环境变化;判断是否成功应以本篇说明的关键结果为准。
按执行顺序拆开看
- 调用时 25 和 4 分别绑定到
price、count,它们只在本次函数调用的局部范围中使用。 return total把整数 100 交给调用表达式,调用方再把它绑定给result并输出。
再看一个具体细节
局部变量只在本次函数调用期间存在,可以用调用范围图理解。
price、count 和 total 属于这次调用的局部范围;返回后,调用方只接收到返回值。
初学者容易混淆的地方
- 在函数内部只
print(total),调用方却期待拿到可继续计算的返回值。 - 试图在函数外直接访问局部变量
total,它的名字只在调用期间的局部作用域存在。
练习
- 编写计算长方形面积的函数。
- 让函数返回结果后在调用方加上单位再输出。
练习应先独立完成,再通过增加 print 输出或检查文件内容观察中间状态。当前课程尚未讲到的能力,不要求提前搜索复杂写法。
本篇边界
本篇目标是设计有输入和输出的函数。没有展开的高级机制会放到后续课程;先确保能够解释示例中每一行代码,再进入下一篇。
相关文章
01|Python 程序从源码到输出经历了什么
面向按顺序学习 Python 的初学者,本篇在零基础上,帮助读者理解源代码、解释器和输出之间的关系。
02|在 macOS 安装并确认 Python 3 环境
面向按顺序学习 Python 的初学者,本篇在第 01 篇知识上,帮助读者在 macOS 中确认 Python 3.14 和 pip 是否可用。
03|交互式解释器和 Python 脚本怎么选择
面向按顺序学习 Python 的初学者,本篇在第 02 篇知识上,帮助读者根据任务选择 REPL 或 `.py` 脚本。
04|建立第一个 Python 项目目录
面向按顺序学习 Python 的初学者,本篇在第 03 篇知识上,帮助读者理解当前目录并正确运行项目脚本。

