当前位置: 首页 > news >正文

Python 入门:初识函数

摘要本文从实际场景出发通俗易懂地讲解 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
http://www.zskr.cn/news/1409964.html

相关文章:

  • 别再傻傻分不清!一文搞懂CPU、GPU、NPU、MCU、DSP、FPGA、SOC,嵌入式选型不踩坑
  • 侈品级不锈钢彩色板应用技术标准:从选材、工艺到验收的完整规范
  • DevOps CI/CD流水线最佳实践:从Git提交到生产部署的10分钟之旅
  • LVDS串行通信总线深度分析
  • 灰子学Ai: Token与字节
  • AI品牌命名避坑清单(含12个高危词根、6类语音陷阱、4种文化禁忌),错过本次更新将影响全球市场准入
  • SARscape版本升级实战:5.3到5.6.2,那些官方没细说的数据导入与DEM处理变化
  • 别再怕走廊和隧道了!用LOAM作者的方法搞定SLAM定位退化问题
  • 数据分析入门:手把手教你用Python爬取直播数据并做简单可视化
  • 开源语音AI的边界:从 `luongnv89/claude-howto` 看前沿技术的落地实践
  • 别再死记硬背公式了!用这个在线仿真工具,5分钟搞懂正激变换器(Forward Converter)工作原理
  • 2026指南:东莞老化房专业品牌厂家甄选 - 品牌企业推荐师(官方)
  • 算法:图的存储与遍历,最小生成树(Prim算法,kruskal算法)
  • 高光谱图像超分辨率技术:Mamba架构与实时处理实践
  • 别再只画轮廓了!用OpenCV的cv2.findContours()做点实际的:Python实现简易车牌识别
  • 别再破坏原车线束了!手把手教你用120通道BOB故障测试盒做汽车ECU信号诊断
  • 从野外数据到地下构造:手把手教你用地震时距曲线做一次‘虚拟勘探’
  • 别再死记硬背了!用“数据流”视角彻底理解F28335的SCI模块:从SCITXBUF到TXSHF发生了什么?
  • 告别ST-LINK!详解STM32G070RB开发板的串口一键下载配置与常见连接失败解决
  • 别再死记硬背了!用WideDeep模型搞定推荐系统里的‘记忆’与‘泛化’难题
  • Python 新手入门,用 AI 写个自动诗歌生成器
  • 保姆级教程:在Win10上用VMware 15.5.2给Mac OS X 10.11安个家(附解锁工具和镜像)
  • 别再只用SSH了!在Ubuntu 20.04上快速启用Telnet服务,搞定那些老旧设备的远程调试
  • 5分钟掌握chfsgui:零门槛文件共享神器新手必看指南
  • 三分钟解锁B站4K视频下载:告别在线播放限制的智能解决方案
  • 网卡代理商选型参考:三层漏斗筛选核心维度一次说清
  • 从Vue项目实战出发:一步步教你用Echarts 5.3.3 + china.js绘制可交互的中国地图(附完整代码)
  • 告别绝对路径!用Virtual Interface和config_db重构你的UVM Driver(附完整代码)
  • 深入浅出 LoongSuite Python Agent:让你的 AI 应用「透明化」(上篇)
  • 别再找第三方工具了!用Windows自带的DISM命令,5分钟搞定Win10家庭版组策略(gpedit.msc)安装