Python升级打怪(5)

链式调用:用一个函数的返回值作为另外一个函数参数

嵌套调用:一个函数在另一个函数定义里面,而调用该定义函数既可以使用在其里面的函数

在Pycharm中调试器的左下角能够看到函数之间的"调用栈"

调用栈里面描述了当前这个代码的函数之间,调用关系是什么.

每一层这个调用关系就称为"函数的栈帧",每个函数的局部变量就在栈帧里面体现的

每一层栈帧选中之后,就能看到其中的局部变量,每一个函数的局部变量就是体现在相应的栈帧中

调用函数则生成相应的局部变量;函数结束则对应的栈帧消亡了。

变量本质就是一块内存空间,每个变量就是保存在相应的栈帧中,每个栈帧保存在内存上。

函数递归:函数自己调用自己。分析递归代码时,可用1.画图2.调试器来思考,缺点就是执行过程中非常繁琐,难以理解,递归代码容易出现"栈溢出"的情况。"栈溢出"指的是调用栈3.递归代码一般都是可以转化成等价的循环代码的,并且循环的版本通常运行速度要比递归的版本更有优势(因为递归的调用需要开销时间)递归优点是代码简洁!!

在Python当中可以支持默认参数值(即函数的形参列表可以上默认参数值,但不可以放在前面或者中间,只能放在后面)

关键字传参:按照形参的名字进行传参!非常明显的告诉程序员自己的值给哪个形参,另外可以无视形参和实参的顺序。

位置参数和关键词字参数还能混着用,只不过混着用的时候要求位置参数在前面,关键词参数在后面。

关键字参数,一般也是搭配默认参数来使用的。

一个函数可以提供很多的参数来实现对这个函数的内部功能做出一些调整设定。

列表和元组:可以用一个变量表示多个数据。

列表的数据可以变;元组的数据不能变。若强行改变元组的数据,只有舍弃原来的元组重新搞新的元组。\[\]表示一个空列表 list()也可以表示一个空列表.

len内联函数可以传字符串、列表、元组、字典、自定义的类,本质就是Python支持动态类型

切片操作:通过下标操作一次性取出里面的第1个元素, 而通过切片则是一次可以取出一组连续的元素,相当于得到一个子列表.

: 里面有两个数字,表示一段区间. 右边的数值表示开始区间的下标,左边的数值表示结束区间的下标,但记住是左闭右开.

在这里面可以省略边界,前边界和后边界也可以,两个边界同时省略.

省略前边界说明表示取到第1个元素到下标为最左边数字的元素,但取不到最左边的元素哦,因为左闭右开。

省略后边界说明从下标为右边数字为始的后面所有元素。

省略两个边界表示直接取整个列表。

注意 : 这两个数字 不存在越界之说。例如最左边设100,但列表只有10个数据,则直接取到第10个元素,即结束了。

: : 其实还有第3个参数表示步长,步长可以为负数表示从后往前取。1:5:2表示从下标为1的元素到下标为5的元素,以步长为2开始取.

切片操作是一个高效的操作方法,进行切片的时候只是取出了原有列表中的一个部分,不涉及"数据拷贝"

遍历: 把一个可迭代对象中(例如列表、元组、range)的所有对象都依次取出来,并进行某种操作.

一般使用for循环遍历也可以使用while循环通过下标遍历.

相关推荐
第九序言T4 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路4 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003964 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_4 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
quantdash_cc5 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl5 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
云和数据.ChenGuang6 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
专注仿真6 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
apple-mapping7 小时前
网络RTK定位学习总结
学习·网络rtk
wflynn7 小时前
GitHub 今日推荐|Edge0:让大号 MoE 模型在一台 Mac 上流式跑起来
python·开源·github