【python篇——一周速通python语法】一篇文章带你学会python的函数
作者主页现有专栏算法篇Linux篇QT百日筑基篇数据结构篇python篇python函数语法简介目录/索引目录数学中的函数vs计算机中的函数一、数学中的函数定义二、Python 中的函数程序函数三、核心区别对照表什么是函数函数return的使用py中函数返回值的进阶global函数变量扬名天下的利器函数的缺省值不同传参函数的递归一、什么是递归二、递归执行原理栈函数数学中的函数vs计算机中的函数一、数学中的函数定义数学函数yf(x)集合映射关系定义域输入x的取值范围值域输出y的取值范围核心规则一个自变量 x 只能对应唯一 y一一映射 / 多对一不能一对多纯映射输入确定输出永远固定无副作用 例f(x)2x1x3 永远得到 7不受外界影响二、Python 中的函数程序函数是一段可复用代码块只是借用 “函数” 名字本质是代码执行单元规则完全放开。三、核心区别对照表对比维度数学函数Python 函数核心本质数集之间的映射关系封装代码、执行操作的代码模块输入规则一个 x 只能对应唯一 y禁止一对多无限制同一个入参可以返回不同结果输出唯一性纯函数输入固定→输出永久固定存在有副作用函数输入相同结果可变返回值一定有唯一对应输出可以无返回值默认返回None是否依赖外部只依赖自变量 x和外界无关可读取 / 修改全局变量、文件、网络、时间等外部数据副作用绝对无副作用只计算数值大量副作用打印、修改变量、读写文件、弹窗参数数量单变量 / 多变量但都是数值任意参数数字、字符串、列表、对象、甚至其他函数定义域限制严格限定 x 取值如x​要求x≥0不强制校验输入传非法值只会报错不会自动限制定义域是否能重复调用只是抽象映射不存在 “调用执行”必须手动调用才会运行可反复执行逻辑复杂度仅数学运算加减乘除、三角函数等可分支、循环、判断、IO、网络、复杂业务逻辑什么是函数函数是封装一段可重复执行代码的代码块实现代码复用、简化逻辑、降低冗余。 分为两类内置函数Python 自带print()、len()、input()自定义函数用户用def关键字自己定义在python中如何去定义一个函数呢语法def 函数名参数...: 缩进 函数体 缩进 return 值 #有返回值使用return来进行接收我们写一个简单的打印程序吧。我们对函数进行了定义在这个函数中我们实现了一个print的功能 然后我们这个函数有参数我们就将参数进行书写没有参数就将不写参数 但是没有参数也是要写这个括号不能进行省略我们函数的功能要写函数名的方式进行调用也就是下面的printf//这个就是一个函数的调用def printf(): print(这是python的一个函数的编写) printf();函数return的使用我们如果想要函数中的值的化我们是需要进行返回我们想要得到的值的 那我们直接进行return就行了向我们下面的程序。我们想得到相加之后的值我们采用了returnxy的值 并在函数外面进行调用打印。def add(x,y): return xy print(add(1,2))py中函数返回值的进阶在py中可以进行多返回值进行返回 在c/c中只能返回一个值。所以这也是py的一些特色吧。这里我们把x1的值给了a 我们把y1给了b 所以在py中可以进行多值的返回。def test(x,y): return x1, y1 a,b test(1,2) print(a) print(b)我们如果返回多个值但是也有几个值不想要我们就能进行_来进行占位像下面的代码我们只将会y1给了bx1给_代表我们不接受这个参数。def test(x,y): return x1, y1 _,b test(1,2) print(b)实参和形参a0 b1 print(f未进入函数前: a{a}b{b}) def test(a,b): a10 b10 print(f函数内: a{a}b{b}) test(a,b) print(f进入函数后: a{a}b{b})我们发现我们的参数在函数体内部进行了10函数体内部的a,b进行了改变出函数时和进函数的值是一样的 所以我们这里进入函数内部a,b出来的时候不会发生任何变化。所以我们在外面传的实参 在函数的参数叫做形参。 所以形参的改变不影响实参的改变。global函数变量扬名天下的利器global用于在函数内部声明要使用 / 修改全局变量只读取全局变量不加global也能读如果要修改、重新赋值全局变量必须先写global 变量名否则 Python 会把它当成局部变量。a0 b1 print(f未进入函数前: a{a}b{b}) def test(a,b): global num num100; a10 b10 print(f函数内: a{a}b{b}) test(a,b) print(f进入函数后: a{a}b{b}) print(num)函数的缺省值缺省规则参数的缺省值只能从右向左进行书写。如果我给这个参数的传参数缺省值没有任何的作用 如果我不传这个参数的话 那么就会用这个缺省值def add(a,b10): return ab; print(add(1,2)); print(add(1));不同传参我可在传参的时候就指定内部的形参要哪个参数。def add(x,y): print(fx{x}, y {y}) return xy add(y1,x2)函数的递归一、什么是递归递归函数自己调用自己把大问题拆解成结构相同、规模更小的子问题直到触达终止条件。 公式基线条件出口停止递归不再调用自身必须写否则无限递归报错递归条件缩小问题规模再次调用自己二、递归执行原理栈每次函数自调用会在调用栈开辟新空间保存当前变量 满足基线条件后逐层返回栈依次释放。 Python 默认递归深度限制约 1000 层超过抛出RecursionError。def factorial(n): # 基线条件 if n 1 or n 0: return 1 # 递归条件 return n * factorial(n - 1) print(factorial(5)) # 120总结递归必须有基线条件作为出口每次自调用要缩小问题规模保证能走到基线递归靠调用栈实现有深度上限重复计算场景用缓存优化简单计算优先循环树形 / 分治类问题适合递归。下篇预告列表和元组的使用

相关新闻

数控立车实力厂家——奥晟博数控机床

数控立车实力厂家——奥晟博数控机床

一、什么是数控立车 数控立式车床(CNC Vertical Lathe,简称数控立车),是主轴垂直于水平面、依靠水平回转工作台承载工件的数字化车削加工设备,区别于主轴水平布置的数控卧车,是工业母机中专门针对大直径、短…

2026/7/18 21:44:03 阅读更多 →
【计算机科学技术】晶圆是什么回事?与芯片的区别与联系!

【计算机科学技术】晶圆是什么回事?与芯片的区别与联系!

晶圆(Wafer)是制造芯片的圆形半导体基材,而芯片(Chip)是晶圆上经过复杂工艺加工后切割出来的、具备完整电路功能的微小单元。 简单来说,晶圆相当于“未切割的硅片蛋糕”,芯片则是从这块蛋糕上切…

2026/7/18 21:44:03 阅读更多 →
机器人来了:AI时代的人类生存法则!

机器人来了:AI时代的人类生存法则!

在AI和机器人技术快速发展的时代,人类确实需要重新思考自己的定位和发展方向。以下是一些关键的生存法则:1. 拥抱终身学习,持续技能升级AI时代知识更新速度极快,传统的一次性教育模式已不再适用。人类需要培养持续学习的能力&…

2026/7/18 21:44:03 阅读更多 →

最新新闻

主要跨境电商企业B2B和B2C有什么区别?卖家模式选择指南

主要跨境电商企业B2B和B2C有什么区别?卖家模式选择指南

跨境电商行业里有一个很基础但很多人没搞清的问题:主要跨境电商企业B2B和B2C有什么区别?选错了模式,等于选错了赛道。如果你需要一个能同时分析B2B和B2C业务数据、帮你判断哪种模式更适合你的工具,数跨境BI(帆软旗下跨…

2026/7/18 22:36:48 阅读更多 →
跨境大卖二方审核深度解析:为什么Anker的试单,有BSCI证书的工厂也拿不到?

跨境大卖二方审核深度解析:为什么Anker的试单,有BSCI证书的工厂也拿不到?

01别被BSCI证书骗了:Anker的二方审核,正在悄悄淘汰“合规老实人”最近梳理了上半年 多家 3C 配件厂的审核数据,发现一个扎心规律:凡是只拿着 BSCI C 级证书去投 Anker 的工厂,试单通过率不足 20%。长沙的赵厂就是其中之…

2026/7/18 22:36:48 阅读更多 →
2026券商AI原生App工程化选型:多智能体编排与事件驱动架构解析

2026券商AI原生App工程化选型:多智能体编排与事件驱动架构解析

一、问题定义:券商App升级的工程本质 2026年以来,据公开资料,国泰海通灵犀App 3.0、东吴「小水滴」、中信建投「AI翼答」、兴业「知己管家」等产品密集升级。工程上,这类项目的共同命题并非「接入一个大模型」,而是&am…

2026/7/18 22:36:48 阅读更多 →
vs无法启动程序,系统找不到指定文件

vs无法启动程序,系统找不到指定文件

这个报错的直接原因是&#xff1a;Visual Studio 想启动 D:\vscode\unordered_set_map\x64\Debug\unordered_set_map.exe 但该 .exe 实际没有生成。 我检查了项目配置&#xff0c;具体原因是 main.cpp 被错误地当成了“头文件”处理&#xff1a; <ClInclude Include&quo…

2026/7/18 22:36:48 阅读更多 →
主要跨境电商企业有哪些?2026年全产业链百强企业盘点

主要跨境电商企业有哪些?2026年全产业链百强企业盘点

主要跨境电商企业有哪些&#xff1f;2025年网经社百强榜给出了一个全景图&#xff1a;出口35家、进口10家、服务商55家&#xff0c;合计100家。这个比例本身就是信息——服务商占比过半&#xff0c;说明跨境电商已经进入精细化运营阶段。如果你需要一个能帮你对接这些服务商数据…

2026/7/18 22:36:47 阅读更多 →
AI 分析结果可信度:置信度评分与人工复核的协同机制

AI 分析结果可信度:置信度评分与人工复核的协同机制

AI 分析结果可信度&#xff1a;置信度评分与人工复核的协同机制 一、AI 输出的分析结果&#xff0c;你敢直接用吗 最近一段时间用 LLM 做数据分析的团队越来越多了。常见的场景是&#xff1a;把 CSV 或数据库查询结果扔给 ChatGPT&#xff0c;说"帮我分析一下最近三个月的…

2026/7/18 22:35:47 阅读更多 →

日新闻

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;从模糊意图到可执行指令&#xff1a;Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档&#xff08;PRD&#xff09;生成实践中&#xff0c;原始业务意图往往以自然语言片…

2026/7/18 0:00:38 阅读更多 →
Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Cursor配置生成失效&#xff1f;3大隐藏陷阱4行修复代码&#xff0c;资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效&#xff0c;是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…

2026/7/18 0:00:38 阅读更多 →
某智驾大牛创业

某智驾大牛创业

作者&#xff1a;钟声编辑&#xff1a;Mark出品&#xff1a;红色星际头图&#xff1a;智能驾驶图片据悉&#xff0c;国内某头部智驾公司端到端模型技术大牛Z投身创业&#xff0c;并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈&#xff0c;更是业内…

2026/7/18 0:00:38 阅读更多 →

周新闻

月新闻