摘要本文从实际场景出发通俗易懂地讲解 Python 函数的概念、定义、调用、返回值与参数位置参数、关键字参数、默认参数附大量可直接运行的代码示例新手友好零基础也能看懂。一、什么是函数写代码时有些功能需要反复执行。如果每次都重复写相同代码既麻烦又不好维护。函数对代码块和功能的封装和定义需要时直接 “调用” 即可。场景举例重复执行 “约会” 流程如果不用函数每次都要写一遍# 约一次 print(拿出手机) print(打开陌陌) print(找个漂亮的妹子) print(问她, 约不约啊?) print(OK. 走你!) ​ # 再来一次 print(拿出手机) print(打开陌陌) print(找个漂亮的妹子) print(问她, 约不约啊?) print(OK. 走你!)用循环可以无限执行但无法按需执行while 1: print(拿出手机) print(打开陌陌) print(找个漂亮的妹子) print(问她, 约不约啊?) print(OK. 走你!)解决方案用函数封装功能需要时调用即可。二、函数的定义、函数名、函数体及调用1. 函数定义语法使用def关键字定义def 函数名(): 函数体 # 要执行的代码2. 定义一个 “约会” 函数def yue(): print(拿出手机) print(打开陌陌) print(找个漂亮的妹子) print(问她, 约不约啊?) print(OK. 走你!)定义后不会自动执行需要手动调用。3. 函数调用语法函数名\(\)# 调用函数 yue()输出拿出手机 打开陌陌 找个漂亮的妹子 问她, 约不约啊? OK. 走你!4. 多次调用yue() yue() yue()想调用几次就调用几次代码简洁。三、函数的返回值执行完函数后用return返回结果。1. return 的特点遇到return函数立即结束后续代码不执行。def yue(): print(约你) print(约我) print(约他) return print(约谁呀) # 不会执行 ​ yue()2. 返回单个值def yue(): print(约他) print(约你) print(约我) return 美女一枚 girl yue() print(girl) # 输出美女一枚3. 返回多个值自动封装为元组def yue(): return 美女一枚, 萝莉一枚 result yue() print(type(result)) # class tuple print(result) # (美女一枚, 萝莉一枚) # 解包赋值 girl1, girl2 yue() print(girl1, girl2)4. 返回值总结表情况返回值无 return /return 后无值Nonereturn 单个值单个数据return 多个值元组tuple四、函数的参数参数用于给函数传递数据让函数更灵活。1. 形参 vs 实参形参定义函数时括号里的变量形式参数实参调用函数时传入的实际值实际参数def yue(chat): # chat 是形参 print(拿出手机) print(打开 chat) print(找个漂亮的妹子) print(约不约) yue(微信) # 微信 是实参 yue(陌陌) yue(探探)2. 位置参数按顺序传参一一对应。def yue(chat, address, age): print(拿出手机) print(打开 chat) print(f找个{address}附近漂亮的{age}岁妹子) print(约不约) # 位置传参顺序必须一致 yue(微信, 北京, 18)3. 关键字参数按参数名传参顺序无关。def yue(chat, address, age): print(拿出手机) print(打开 chat) print(f找个{address}附近漂亮的{age}岁妹子) # 关键字传参不用记顺序 yue(chat微信, age18, address北京)4. 混合参数位置 关键字规则位置参数必须在前关键字参数在后。# ✅ 正确 yue(微信, age18, address上海) # ❌ 错误关键字参数在前 yue(age18, 微信, address广州)5. 默认值参数定义时给参数默认值调用时可传可不传。规则默认参数必须放在位置参数之后。# sex 默认值为 男 def stu_info(name, age, sex男): print(录入学生信息) print(name, age, sex) # 不传 sex用默认值 stu_info(张强, 18) # 传 sex覆盖默认值 stu_info(小红, 17, 女)6. 参数分类总结表实参角度调用时类型说明示例位置参数按顺序传参yue\(\\#34;微信\\#34;, \\#34;北京\\#34;, 18\)关键字参数按名字传参yue\(age18, chat\\#34;微信\\#34;\)混合参数位置在前关键字在后yue\(\\#34;微信\\#34;, age18\)形参角度定义时类型说明示例位置参数无默认值必传def f\(a, b\):默认值参数有默认值可选传def f\(a, b0\):五、练习写一个求最大值函数基础版def my_max(a, b): if a b: return a else: return b print(my_max(5, 9)) # 9三元运算符简化版def my_max(a, b): return a if a b else b print(my_max(12, 7)) # 12