Python升级打怪(5)

news/2024/5/19 17:30:23

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 

 


http://www.mrgr.cn/p/53603748

相关文章

Chartist.js折线图(四)

线插值/平滑代码如下<!DOCTYPE html> <html><head><link rel="stylesheet" href="./chartist.min.css"><script src="./chartist.min.js"></script></head><body><div class="ct-chart…

Yolov5 export.py实现onnx模型的导出

查了很多资料&#xff0c;很多用python代码写的&#xff0c;只需要这个库那个库的&#xff0c;最后都没成功。 不如直接使用Yolov5里面的 export.py实现模型的转换。 一&#xff1a;安装依赖 因为yolov5里面的requirments.txt是将这些转换模型的都注释掉了 所以需要解除注释…

双屏后wocam手绘板手感奇怪

把比例一定给关掉,就舒服很多1.打开驱动面板 2.选中映射 3.取消比例一定

前端框架EXT.NET Dotnet 3.5开发的实验室信息管理系统(LIMS)成品源码 B/S架构

前端框架EXT.NET Dotnet 3.5开发的实验室信息管理系统&#xff08;LIMS&#xff09;成品源码 B/S架构 LIMS实验室管理系统 发展历史 实验室信息管理系统(LIMS)&#xff0c;就是指通过计算机网络技术对实验的各种信息进行管理的计算机软、硬件系统。也就是将计算机网络技术与现…

【Qt 专栏】文件对话框 文件的弹窗选择-QFileDialog

前言: 通过按钮实现文件弹窗选择以及关联的操作 效果图就和平时用电脑弹出的选文件对话框一样原型图 技能: 头文件: #include<QFileDialog>//头文件QString filename = QFileDialog::getOpenFileName(this, "弹窗标题", "E://","Images(*.pn…

探索MATLAB在计算机视觉与深度学习领域的实战应用

随着人工智能技术的快速发展&#xff0c;计算机视觉与深度学习已成为科技领域中最热门、最具挑战性的研究方向之一。 它们的应用范围从简单的图像处理扩展到了自动驾驶、医疗影像分析、智能监控行业等多个领域。 在这样的背景下&#xff0c;《MATLAB计算机视觉与深度学习实战…

JDK升级专题

一、JVM17与JVM8的变化 模块化系统(Project Jigsaw) 新的垃圾收集器 JDK 17 引入了 ZGC 和 Shenandoah,这两个垃圾回收器在低延迟和高吞吐量方面表现优秀,同时提高了内存管理效率。二、SpringBoot与SpringCloud版本对应关系及Spring Boot与JDK对应关系。 参考资料1、【译…

【八股】Spring Boot

SpringBoot是如何实现自动装配的&#xff1f; 首先&#xff0c;SpringBoot的核心注解SpringBootApplication里面包含了三个注解&#xff0c;SpringBootConfigurationEnableAutoConfigurationComponentScan&#xff0c;其中EnableAutoConfiguration是实现自动装配的注解&#x…

Qt Creator Pro文件添加库和源文件

在项目的pro文件所在的文件夹中添加源文件lib_header &#xff0c;entityobject 如下图所示&#xff1a; 在 pro 文件里面添加源文件的路径如下所示&#xff1a; 这个英文符号点&#xff0c;表示当前目录&#xff0c;因为这个文件是和pro文件在同一个目录下&#xff0c;所以用…

python--使用pika库操作rabbitmq实现需求

Author: wencoo Blog&#xff1a;https://wencoo.blog.csdn.net/ Date: 22/04/2024 Email: jianwen056aliyun.com Wechat&#xff1a;wencoo824 QQ&#xff1a;1419440391 Details:文章目录 目录正文 或 背景pika链接mqpika指定消费数量pika自动消费实现pika获取队列任务数量pi…

【电控笔记5.4】pwm延迟

PWM延迟 1标准采样法 Td=MCU计算延迟+输出延迟 Tcon=电流控制周期 Ts=PWM载波周期 Td=1.5Ts(6.3节 ) 电流环跟PWM采样周期同步 2修改采样法

python爬虫学习------scrapy第二部分(第三十天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

压缩即智能:为什么 ChatGPT 拥有智能?(转)

源地址: 背景 随着 ChatGPT、GPT4、PaLM2、文心一言各种大模型的爆火,我们在惊讶大模型能力的同时,也在不断的问自己一个问题,为什么 Decode-only 的 ChatGPT 拥有智能? GPT 其实就是基于 Transformer 的 Decode-only,本质是就是 Next Token Prediction,为啥如此简单的结…

docker常用基本命令

把jar包和 dockerfile文件放到同一目录下#构建Docker镜像 注意后面的 . 不能省略 docker build -t your-image-name .#运行并创建一个容器 docker run -d -p 8080:8080 --name container_name your-image-name# 停止容器 767fce4cb990 容器ID (容器名也可以) docker stop 767f…

Android Studio开发工具学习之Git远程仓库拉取与推送

Git远程仓库操作 1.1 推送项目到远端服务器1.1.1 进入Gitee或Github、创建一个新的仓库1.1.2 将Android Studio中项目推送至Gitee 1.2 从远端服务器拉取项目1.2.1 AS工程页拉取新项目1.2.2 AS启动页拉取项目 1.1 推送项目到远端服务器 1.1.1 进入Gitee或Github、创建一个新的仓…

vue3推荐算法

Vue 3 推荐算法主要指的是在 Vue 3 框架中实现的或者适用于 Vue 3 的算法库或组件库。Vue 3 由于其优秀的设计和性能&#xff0c;被广泛应用于构建各种类型的应用程序&#xff0c;包括需要复杂算法支持的项目。以下是一些在 Vue 3 中可能会用到的推荐算法资源&#xff1a; Vue-…

【Network Automation系列】-- 第一章

引言: 本系列是根据《Mastering Python NetworkingThird Edition》翻译整理出来的,原著作者:Eric Chou,大家可以关注一下。 随着网络工程领域的快速变化,我们无疑也经历了类似的变化。 随着软件开发越来越多地集成到网络的各个方面、传统的命令行接口和垂直集成中,网络堆栈…

selenium--绕过网站监控操作

driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": """Object.defineProperty(navigator, webdriver, {get: () => undefined})""", }) #r绕过网站对webdriver的监测

Rime 如何通过 iCloud 实现词库多端同步,Windows、iOS、macOS

Rime 如何通过 iCloud 实现词库多端同步&#xff0c;Windows、iOS、macOS 一、设备环境 最理想的输入环境就是在多端都使用同一个词库&#xff0c;这样能保持多端的输入习惯是一致的。 以我为例&#xff0c;手头每天都要用到的操作平台和对应的输入法&#xff1a; 操作系统设…