
# 【第25期】Python 函数定义与调用详解参数、返回值、作用域、默认参数和关键字参数## CSDN 完整教程 系列《从小白到 AI 大模型开发工程师的进阶之路》 技术点AI-0113 函数定义与调用 主人公小蓝伞本文是第 25 期围绕“参数、返回值、作用域、默认参数和关键字参数”展开。示例命令是可复现实验模板请按自己的 Windows 版本、Python 版本和路径替换占位内容未在当前环境执行的步骤统一标记为“建议验证”。## 一、先说结论学习 函数定义与调用 的关键不是死记 API而是明确数据边界、修改责任和验证方式。本期最小产出是可复用工具函数。## 二、前置准备- Windows 10/11 64 位安装 Python 3.11 或兼容版本建议使用独立虚拟环境。- 建议在 D:\ai-learning\issue-25 建立练习目录并用 Git 记录可回滚的修改。- 涉及覆盖文件、环境变量或敏感配置时先备份不要把账号、密钥和个人路径提交到公开仓库。## 三、最小实践在练习目录中保存并执行下面代码pythondef check_port(port, host127.0.0.1):if not isinstance(port, int) or not 1 port 65535:return False, 端口范围无效return True, f{host}:{port} 可检查print(check_port(port8000))预期结果是得到结构清晰的 Python 输出。若输出不同先记录完整错误文本、解释器路径和版本再进入排查不要直接重装所有软件。## 四、关键原理与操作判断### 1. 输入、处理、状态、输出把 函数定义与调用 放进“输入—处理—状态—输出”四格输入来自参数、配置或文件处理由解释器完成状态必须有明确的所有者输出要能被命令、日志或页面再次验证。小蓝伞把这四格写进练习 README排错时不再只盯着最后一行红字。### 2. 用小步修改保持可回滚先确认 Python 版本和执行目录再运行最小样例随后一次只改变一个变量。每一步记录预期结果和实际结果确认后再扩展到完整项目。### 3. 让数据结构服务于契约当代码从练习进入项目时应把 函数定义与调用 的输入类型、允许的空值、修改方式和异常行为写进函数或类的文档。调用方依赖稳定契约而不是依赖实现细节。## 五、常见故障与避坑1. **输入边界未确认**先确认对象类型、路径和状态再按官方文档修复不要把临时绕过方案当成长期配置。2. **对象类型判断遗漏**先确认对象类型、路径和状态再按官方文档修复不要把临时绕过方案当成长期配置。3. **验证步骤被省略**先确认对象类型、路径和状态再按官方文档修复不要把临时绕过方案当成长期配置。## 六、验证清单1. 重新打开终端或重启相关进程后核心代码仍能运行。2. 练习产物可以被再次读取、运行或恢复如果不能说明只完成了“看起来成功”。3. 记录工具版本、执行目录、关键输出和未验证项便于复盘与迁移。## 七、面试题1. **本期技术点解决什么问题** 解决数据组织、边界控制和可重复验证问题。2. **为什么先做最小实践** 降低变量数量把语法、环境和业务问题分开。3. **出现错误时第一步做什么** 保存完整错误文本确认版本、目录、权限和对象状态。4. **如何判断代码真正生效** 重新打开终端或进程用独立命令和功能测试验证。5. **什么时候不能照搬本文示例** 系统版本、数据位置、权限模型或输入契约不同时先替换占位内容并阅读官方文档。## 八、本期小结与下一期本期产出是“可复用工具函数”。下一期将承接资料库中的下一个 AI 技术点。点个关注不迷路跟着小蓝伞把每个概念都变成可验证的工程动作。**可靠的代码不是记住更多语法而是能解释每个结果从哪里来。**## 官方资料- https://docs.python.org/3/## 九、命令逐行说明版本命令用于确认实际解释器验证命令要在重新打开终端后再次执行。## 十、回滚与记录建议把日期、工具版本、执行目录、关键输出和失败原因写入 README。