Python基础 | 循环
26 5 月, 2025Python基础 | 元组、列表与字典
26 5 月, 2025
想象你是奶茶店店员
- 每次做「芋泥波波」都要重复喊「加 3 勺芋泥、2 勺波波、七分糖」(重复劳动)
- 后来你把步骤写成「芋泥波波 ()」,接单时直接喊名字(效率翻倍)
函数的本质:给重复代码「取名字 + 打包」,想用的时候「喊名字」,避免重复写代码。这是编程从「体力劳动」到「脑力创造」的转折点。
不用函数的痛苦:
print("1. 冲洗奶盖机")
print("2. 消毒量杯")
print("3. 擦操作台") # 每天写3遍,改步骤要改3处
print("1. 冲洗奶盖机")
print("2. 消毒量杯")
print("3. 擦操作台")
def 打烊清洁(): # def = define,定义一个叫「打烊清洁」的函数
print("1. 冲洗奶盖机")
print("2. 消毒量杯")
print("3. 擦操作台\n") # 改步骤只需改这里
# 调用2次(每天早晚班各一次)
打烊清洁() # 第1次调用
打烊清洁() # 第2次调用(代码没变,但你少写6行!)
代码拆解:
- 函数定义:
def 函数名():
后接缩进的代码块
- 函数调用:直接写函数名 +
()
,像启动洗衣机的「开始键」
参数 = 函数的「定制选项」:
def 做奶茶(奶茶名, 甜度="七分", 小料="珍珠"): # 括号里是参数(带默认值)
print(f"🍵 制作{奶茶名}:")
print(f"甜度:{甜度},小料:{小料}")
print("摇匀→装杯→贴标签,完成!\n")
# 调用示例(参数=实参)
做奶茶("芋泥波波", 甜度="五分", 小料="青稞") # 定制低糖版
做奶茶("葡萄冻冻", 小料="脆啵啵") # 用默认甜度(七分)
🍵 制作芋泥波波:
甜度:五分,小料:青稞
摇匀→装杯→贴标签,完成!
🍵 制作葡萄冻冻:
甜度:七分,小料:脆啵啵
摇匀→装杯→贴标签,完成!
新手必懂:
- 参数顺序可调:
做奶茶(奶茶名="葡萄冻冻", 小料="脆啵啵")
(明确参数名更清晰)
- 默认值:
甜度="七分"
让调用时可省略参数(适合常用选项)
返回值 = 函数的「交货」:
def 算利润(售价, 成本):
利润 = 售价 - 成本
return 利润 # 把计算结果「交出来」
# 调用函数并保存结果
芋泥波波利润 = 算利润(18, 6.5) # 11.5元
葡萄冻冻利润 = 算利润(22, 8.2) # 13.8元
print(f"今日爆款利润:芋泥波波{芋泥波波利润}元,葡萄冻冻{葡萄冻冻利润}元")
为什么需要返回值?
- 函数内部的变量(如
利润
)调用后会消失,return
让结果「存活」
- 类比:厨师做完菜(函数),通过窗口(return)递给服务员
def 发祝福(姓名, 节日):
return f"{姓名},{节日}快乐!记得吃{节日习俗(节日)}~"
def 节日习俗(节日): # 嵌套函数,处理细节
return {
"春节": "饺子",
"端午节": "粽子",
"中秋节": "月饼"
}.get(节日, "好吃的")
# 批量调用(搭配循环)
好友列表 = ["阿浩", "小宇", "乐乐"]
for 名字 in 好友列表:
消息 = 发祝福(名字, "端午节")
print(消息)
# 这里可对接微信接口自动发送(进阶玩法)
想象你是奶茶店店员
- 每次做「芋泥波波」都要重复喊「加 3 勺芋泥、2 勺波波、七分糖」(重复劳动)
- 后来你把步骤写成「芋泥波波 ()」,接单时直接喊名字(效率翻倍)
函数的本质:给重复代码「取名字 + 打包」,想用的时候「喊名字」,避免重复写代码。这是编程从「体力劳动」到「脑力创造」的转折点。
不用函数的痛苦:
阿浩,端午节快乐!记得吃粽子~
小宇,端午节快乐!记得吃粽子~
乐乐,端午节快乐!记得吃粽子~
def 做奶茶(奶茶名): # 定义时1个参数
做奶茶("芋泥波波", "五分甜") # ❌ 调用时传2个,报错!
# 正确:做奶茶("芋泥波波") 或 增加参数
def 算面积(长, 宽):
面积 = 长 * 宽 # 忘记return
结果 = 算面积(5, 3) # 结果是None(空值)
def 做咖啡():
咖啡豆 = "哥伦比亚" # 仅在函数内有效
print(咖啡豆) # ❌ 报错:name '咖啡豆' is not defined
避坑口诀:参数数量要对齐,return 交货别忘记,变量不出函数体
- 越小越好:一个函数只做一件事(如
算利润()
不负责打印)
- 见名知意:用
发祝福()
代替f1()
,读代码像读说明书
- 复用为王:写函数时问自己「这个功能未来会用 3 次以上吗?」

无参数函数:封装重复步骤(打烊清洁)

带参数函数:定制化执行(不同奶茶配方)

返回值函数:获取计算结果(利润、面积)

实战:用函数 + 循环批量处理任务(自动发祝福)
挑战:封装「文件重命名」函数!
功能:输入旧文件名和关键词,自动添加日期(如「报告_v2_20240601.doc」)
提示:用os.rename()
和字符串拼接,封装成重命名(旧名, 关键词)
下次写重复代码时,默念:
「这段代码会重复 3 次以上吗?」→ 是 → 封装成函数
「这个功能未来会修改吗?」→ 是 → 封装成函数
报错急救箱:
遇到TypeError: 函数缺少1个位置参数
→ 检查调用时的参数数量
遇到NameError: 名字 'xxx' 未定义
→ 检查函数名拼写或是否先定义后调用
26 5 月, 2025
Published by cofo on 26 5 月, 2025 26 5 月, 2025
Published by cofo on 26 5 月, 2025 26 5 月, 2025
Published by cofo on 26 5 月, 2025