news 2026/4/23 11:21:18

办公室中的Python课 P09 【模块化思维】函数:封装你的专属工具箱

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
办公室中的Python课 P09 【模块化思维】函数:封装你的专属工具箱

💻 P09 【模块化思维】函数:封装你的专属工具箱

🎯 学习目标:

  • 理解函数概念:明白函数就是“封装好的代码块”。
  • 掌握定义与调用:学会使用def创建函数,并随时“一键启动”。
  • 输入与输出:搞清楚参数(给函数东西)和返回值(函数给你结果)。
  • AI 协作:利用通义灵码快速提取和封装重复逻辑。

🌟 引导词

“在办公室里,函数就像是刻好的‘公章’或者 Excel 里的‘宏’。
以前你每次都要手写‘同意申请’四个字,现在你只需要拿公章盖一下。函数就是把一段复杂的逻辑起个名字,以后只要喊它的名字,它就会自动运行。
这一课,我们将把零散的代码碎片,组装成一个专业、整洁的工具箱。**


一、什么是函数?

你可以把函数想象成一台咖啡机

  1. 输入(参数):你放入咖啡豆和水。
  2. 处理(函数体):机器内部磨豆、加热、冲泡。
  3. 输出(返回值):最后你得到一杯热咖啡。
1. 基础语法

在 Python 中,我们用def(define 的缩写)来定义函数。

# 定义函数:起个名字叫 greet,需要一个参数 namedefgreet(name):result=f"你好,{name}!欢迎使用 Python 办公助手。"returnresult# 把结果交出来# 调用函数:喊它的名字,并给它参数message=greet("张三")print(message)

二、为什么要用函数?

我们来看一下“普通写法”和“函数写法”的区别:

维度普通写法(复制粘贴)函数写法(工具箱思维)
工作量每次用到都要重写一遍逻辑。写一次,处处调用。
易读性代码非常长,且长得都差不多。看到函数名(如calc_tax)就知道在干嘛。
纠错逻辑改了,要改 10 个地方。只要改函数内部,所有调用处自动生效。

三、输入(参数)与输出(返回)

1. 多样化的参数

你可以给函数传一个参数,也可以传多个。

# 计算打折后的价格defget_discount_price(original_price,discount_rate):returnoriginal_price*discount_rate final=get_discount_price(1000,0.8)# 800.0
2. 返回值return的秘密

return就像是函数执行完后的“反馈”。没有return,函数做完事就默默结束了;有了return,它会把结果丢给调用它的变量。


四、手把手 AI 实战:封装你的办公工具

有了通义灵码,你不需要从零构思函数结构,它可以帮你完成“重构”。

1. Ask 模式:生成专业工具函数
  • 操作:在对话框输入指令:

请帮我写一个 Python 函数,名为 check_format。功能是:输入一个文件名字符串,检查它是否以 '.xlsx' 结尾。如果是,返回 True;如果不是,返回 False。

  • AI 价值:它会写出标准的if/else结构并封装在def里。
2. Edit 模式:一键提取函数
  • 操作:选中你之前写的某段复杂的计算逻辑(比如 P07 里的个税计算)。
  • 动作:右键 ->通义灵码->智能编辑
  • 指令帮我把这段逻辑封装成一个名为 calculate_tax 的函数,并添加必要的中文注释。
  • 效果:AI 会自动加上def、括号和缩进,让你的代码瞬间从“草台班子”变成“专业架构”。
3. Agent 模式:全局文档生成
  • 操作:输入/agent
  • 指令帮我扫描当前脚本里的所有函数,并为它们生成一份简洁的使用说明文档。
  • 效果:AI 会总结每个函数是干什么的、需要输入什么、会输出什么,这对于团队协作非常有帮助。

🛠️ 课后练习

在 VS Code 中新建P09_func.py,尝试:

  1. 定义一个函数add_suffix,它接收一个文件名,给它加上当天的日期(比如report变成report_20251222)。
  2. 调用这个函数,传入"财务报表"
  3. 打印出最终的结果。

总结与预告

  • def:定义函数的开始。
  • return:函数执行结果的出口。
  • 函数名:要起得通俗易懂(多用动词开头,如send_email,load_data)。

[下一篇 (P10),我们将学习如何把这些函数像乐高积木一样组织起来——模块与库 (Module & Library)。你将学会如何“偷懒”,直接调用别人写好的数千个专业工具,比如一键生成 Word、一键爬取网页!**

👉 准备好见识 Python 真正的“生态力量”了吗?让我们进入库的世界!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 6:54:43

基于计算机视觉的药物识别与剂量计算系统设计与实现任务书

附表A.2:六盘水师范学院毕业论文(设计)任务书学院计算机科学学院专业计算机科学与技术学生姓名xx学号xx学生班级1班论文(设计)题目基于计算机视觉的药物识别与剂量计算系统设计与实现指导教师姓名石云/陈涛&#xff08…

作者头像 李华
网站建设 2026/4/23 9:58:28

手把手教你用Open-AutoGLM构建高鲁棒性外卖轨迹跟踪系统

第一章:外卖配送轨迹跟踪系统概述 现代外卖平台对配送效率与用户体验的要求日益提升,配送轨迹跟踪系统作为核心支撑模块,承担着实时监控骑手位置、优化调度策略和提升用户信任度的重要职责。该系统通过整合移动终端定位、地理信息系统&#x…

作者头像 李华
网站建设 2026/4/23 11:20:55

订单状态频繁卡顿?Open-AutoGLM分布式事务处理方案一文讲透

第一章:订单状态频繁卡顿?Open-AutoGLM分布式事务处理方案一文讲透 在高并发电商系统中,订单状态更新延迟或卡顿是常见痛点。传统单体架构难以应对跨服务的数据一致性问题,而 Open-AutoGLM 基于分布式事务的智能协调机制&#xff…

作者头像 李华
网站建设 2026/4/22 15:45:30

LangFlow镜像GPU加速原理:CUDA与TensorRT深度整合

LangFlow镜像GPU加速原理:CUDA与TensorRT深度整合 在大语言模型(LLM)日益渗透到智能客服、内容生成和代码辅助等现实场景的今天,如何让这些“重量级”模型跑得更快、更稳,同时又不牺牲开发效率,成了摆在开发…

作者头像 李华
网站建设 2026/4/11 23:25:24

事件监听器不生效?动态添加的div你得这么绑定事件

在网页开发中,事件绑定失效是常见问题。我注意到许多开发者,尤其是初学者,常常遇到一个特定场景:通过JavaScript动态添加到页面上的div元素,其事件监听器似乎不工作。这并非代码逻辑错误,而是对浏览器事件处…

作者头像 李华