这套课程按知识依赖排列。本篇的前置知识是:第 16、18 篇。学完后,你应该能够把可复用逻辑封装为函数。
本篇要解决的问题
本篇只处理“定义并调用第一个函数”这一件事。示例基于 Python 3.14.6,在 macOS 环境核验;除明确标注的终端命令外,代码本身只使用 Python 标准能力。
先看清一个容易误解的细节
程序执行到函数调用时跳入函数体;函数体完成后回到原调用位置,继续执行后面的语句。定义函数本身不会自动运行函数体。
核心概念
- 函数名描述动作,使用小写字母和下划线。
- 函数定义要先执行,之后才能调用。
- 函数应围绕一个明确职责,不要把无关步骤塞进同一个函数。
跟着示例运行
把下面代码保存到本课脚本并运行:
def show_progress():
print("正在学习函数")
print("本节完成 50%")
print("调用前")
show_progress()
print("调用后")
预期结果:
调用前
正在学习函数
本节完成 50%
调用后
输出中包含环境路径、集合元素或日志格式时,具体文字和顺序可能随本机环境变化;判断是否成功应以本篇说明的关键结果为准。
按执行顺序拆开看
- 执行
def时创建函数对象并绑定名字,函数体此刻不会输出。 - 运行到
show_progress()才进入函数体,执行两次输出,然后回到调用点继续“调用后”。
初学者容易混淆的地方
- 定义函数后忘记加括号调用,程序只保存函数而没有执行。
- 在函数定义之前调用同一名字;脚本按从上到下执行,调用时名字必须已经绑定。
练习
- 定义
show_plan()输出两行学习计划。 - 连续调用同一个函数两次,观察执行顺序。
练习应先独立完成,再通过增加 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 篇知识上,帮助读者理解当前目录并正确运行项目脚本。

