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

🎯 学习目标:

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

🌟 引导词

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


一、什么是函数?

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

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

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

# 定义函数:起个名字叫 greet,需要一个参数 name
def greet(name):
    result = f"你好,{name}!欢迎使用 Python 办公助手。"
    return result # 把结果交出来

# 调用函数:喊它的名字,并给它参数
message = greet("张三")
print(message)


二、为什么要用函数?

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

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

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

1. 多样化的参数

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

# 计算打折后的价格
def get_discount_price(original_price, discount_rate):
    return original_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 真正的“生态力量”了吗?让我们进入库的世界!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐