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循环通过下标遍历.

相关推荐
-一杯为品-12 分钟前
【51单片机】程序实验5&6.独立按键-矩阵按键
c语言·笔记·学习·51单片机·硬件工程
傻啦嘿哟41 分钟前
如何使用 Python 开发一个简单的文本数据转换为 Excel 工具
开发语言·python·excel
B站计算机毕业设计超人1 小时前
计算机毕业设计SparkStreaming+Kafka旅游推荐系统 旅游景点客流量预测 旅游可视化 旅游大数据 Hive数据仓库 机器学习 深度学习
大数据·数据仓库·hadoop·python·kafka·课程设计·数据可视化
风尚云网1 小时前
风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计
前端·css·学习·html·html5·风尚云网
IT古董1 小时前
【人工智能】Python在机器学习与人工智能中的应用
开发语言·人工智能·python·机器学习
湫ccc2 小时前
《Python基础》之pip换国内镜像源
开发语言·python·pip
hakesashou2 小时前
Python中常用的函数介绍
java·网络·python
菜鸟的人工智能之路2 小时前
极坐标气泡图:医学数据分析的可视化新视角
python·数据分析·健康医疗
菜鸟学Python2 小时前
Python 数据分析核心库大全!
开发语言·python·数据挖掘·数据分析
小白不太白9502 小时前
设计模式之 责任链模式
python·设计模式·责任链模式