小白自学python第三天
学习python第三天
一、函数
1、函数介绍
函数就是组织好的,可重复使用的,用以实现特定功能的代码块。
现在我们现在需要统计多个字符串长度并且不考虑使用内置函数,你会怎么做?我们先用一种原始人办法看看吧:
str1 = "糖锅"
str2 = "糖锅以前爱吃糖"
str3 = "糖锅现在也很爱吃糖"count1 = 0
for i in str1:count1 += 1
print(f"\"{str1}\"的长度为:{count1}")count2 = 0
for i in str2:count2 += 1
print(f"\"{str2}\"的长度为:{count2}")count3 = 0
for i in str3:count3 += 1
print(f"\"{str3}\"的长度为:{count3}")
运行结果如下:
"糖锅"的长度为:2
"糖锅以前爱吃糖"的长度为:7
"糖锅现在也很爱吃糖"的长度为:9
虽然我们得到了预期结果,但是你是否感觉我们做了很多重复的逻辑工作,是不是太繁琐了。有这个感觉就对了,那让我们来看一下另一种实现方式吧:
str1 = "糖锅"
str2 = "糖锅以前爱吃糖"
str3 = "糖锅现在也很爱吃糖"def str_len(data):count = 0for i in data:count += 1print(f"\"{data}\"字符串的长度是:{count}")str_len(str1)
str_len(str2)
str_len(str3)
运行结果如下:
"糖锅"字符串的长度是:2
"糖锅以前爱吃糖"字符串的长度是:7
"糖锅现在也很爱吃糖"字符串的长度是:9
哎呀~我的老天奶,有没有一种效率飙升的感觉?!嘿嘿,要是需要统计的字符串数量更多时,这种感觉会更加明显,这就是使用函数的益处,接下来我会带各位更深一层的去认识函数。
2、函数的定义
函数的定义语法:
def 函数名(参数):函数体return 返回值
函数调用的语法:
函数名(参数)
简单示例:
# 定义函数,输出一些话语
def hello():print("大家好~我是糖锅,希望大家会喜欢我的博客~")# 调用函数
hello()
示例结果:
大家好~我是糖锅,希望大家会喜欢我的博客~
注意:
- 如果不需要参数,可以省略
- 若没有返回值,那么返回值也可以省略
- 函数必须先定义后调用
3、函数的参数
上述案例中一开始便有传入参数的情况,我们把字符串作为参数传入函数中,然后在函数内部进行字符串长度计算。还不熟悉?好吧,我们再来一个小案例熟悉一下这种情况(这次我们传入多个参数),我们来设计一个函数能够进行两数相加:
# 定义一个两数相加函数,无返回值
def add(x, y):print(f"{x} + {y} = {x + y}")add(12, 3)
示例结果:
12 + 3 = 15
后续如果我们想要进行三数相加,四数相加,我们传参时只需要用逗号将参数隔开就行啦。
4、函数的返回值
函数的返回值就是程序在完成事情之后,最后会给调用者的结果。
这里我们依然举例演示,我们将3中的案例稍微修改一下,将add(x, y)函数变成有返回值的函数:
# 定义一个两数相加函数,有返回值
def add(x, y):return x + ynum1 = 12
num2 = 3
print(f"{num1} + {num2} = {add(num1, num2)}")
示例结果:
12 + 3 = 15
注意:函数体在遇到return后就结束了,所以写在return后的代码不会执行!
5、变量的作用域
变量的作用域就是变量的作用范围,主要分为局部变量(定义在函数体内部的变量,只在函数体中生效)和全局变量(在函数体内外都能生效)
大家注意,有一种特殊情况,我们可以通过global关键字将函数内定义的变量声明为全局变量。具体什么意思呢?我们可以举个栗子:
num1 = 10def demo():num1 = 100print(f"demo函数中的num1的值为:{num1}")demo()
print(f"demo函数外的num1的值为:{num1}")
你觉得最后两个输出的值一样吗?都是100?请看运行结果:
demo函数中的num1的值为:100
demo函数外的num1的值为:10
猜中这结局了吗嘿嘿,事实证明,demo函数中num1和函数外的num1没啥关系,如果我们想让它们是同一个变量,怎么搞?再看:
num1 = 10def demo():global num1num1 = 100print(f"demo函数中的num1的值为:{num1}")demo()
print(f"demo函数外的num1的值为:{num1}")
我们在demo函数中用global关键字声明num1为全局变量,此时demo函数中的num1和函数外的num1就是同一变量了。不信请看运行结果:
demo函数中的num1的值为:100
demo函数外的num1的值为:100
二、数据容器(今日先看列表)
1、列表(list)
1.1、语法
列表以[]为标识,其中的每一个数据称之为元素,并且用逗号隔开。
# 字面量
[元素1, 元素2, 元素3,...]# 定义变量
变量名称 = [元素1, 元素2, 元素3,...]# 定义空列表
变量名称 = []
变量名称 = list()
简单示例:
# 定义一个列表
fruits = ["香蕉", "猕猴桃", "波罗蜜"]
print(fruits)# 列表中不一定要相同类型的元素
demo = [1, 12.03, "糖锅"]
print(demo)# 定义一个嵌套列表
demo1 = [[1, 2, 3], ["香蕉", "猕猴桃", "波罗蜜"]]
print(demo1)
示例结果:
['香蕉', '猕猴桃', '波罗蜜']
[1, 12.03, '糖锅']
[[1, 2, 3], ['香蕉', '猕猴桃', '波罗蜜']]
1.2、列表的下表索引
我们在实际编程当中不是每次都把列表元素都用到,我们有时只是用到其中的一个或者几个,那么我们如何取出特定位置的数据呢?这里我们就可以使用下标索引来实现。列表中元素的下标索引从0开始,依次递增:
注意:我们的下标是可以反向索引的,也就是从后向前:从-1开始,依次递减(-1,-2,-3…)
其中语法格式为:
# 非嵌套列表
列表[下标索引]
简单示例:
fruits = ["香蕉", "猕猴桃", "波罗蜜"]demo1 = [[1, 2, 3], ["香蕉", "猕猴桃", "波罗蜜"]]# 取出列表fruits中的第二个元素
print(fruits[1])
# 取出列表fruits中的倒数第一个元素
print(fruits[-1])# 取出demo1列表中的第一个列表元素中的第二个元素
print(demo1[0][1])
示例结果:
猕猴桃
波罗蜜
2
注意:通过下标索引取数据时,千万千万千万不要超出下标!!!
1.3、列表的常用操作
1.3.1、查找某元素的下标
功能:查找指定元素在列表的下标,如果找不到会报错。
语法:
列表.index(元素)
1.3.2、修改特定位置的元素值:
语法:
列表[下标] = 值
1.3.3、插入元素
语法:
# 在指定的下标位置,插入指定元素
列表.insert(下标, 元素)
1.3.4、追加元素
功能:将指定元素,追加到列表的尾部
语法:
# 追加单个元素
列表.append(元素)#追加一批元素
列表.extend(其他数据容器)
1.3.5、删除元素
语法:
# 方法一
del 列表[下标]# 方法二
列表.pop(下标)# 方法三:从前到后去搜索该元素,然后删除该元素在列表中的第一个匹配项
列表.remove(元素)
1.3.6、清空列表
语法:
列表.clear()
1.3.7、统计列表中某元素的数量
语法:
列表.count()
1.3.8、统计列表中元素的数量
语法:
len(列表)
综上:
简单示例:
foods = ["炸洋芋", "蒸饵丝", "过桥米线", "烧饵块", "炸洋芋", "炸洋芋"]# 查询某元素的下标
index = foods.index("过桥米线")
print(f"\"{foods[index]}\"元素的下标为:{index}")# 修改下标为2的元素的值
foods[2] = "木瓜凉水"
print(f"此时下标为2的元素的值为:\"{foods[2]}\"")# 在指定位置插入元素
foods.insert(3, "过桥米线")
print(f"插入元素后的列表为:{foods}")# 在列表尾部追加单个元素
foods.append("鲜花饼")
print(f"追加元素后的列表为:{foods}")# 在列表尾部追加一批元素
food = ["子弟薯片"]
foods.extend(food)
print(f"追加元素后的列表为:{foods}")# 删除指定下标的元素
# 方法一
del foods[2]
print(f"第一次删除元素后的列表为:{foods}")# 方法二:删除并取出元素
ele = foods.pop(2)
print(f"第二次删除元素后的列表为:{foods}, 被删除的元素是:\"{ele}\"")# 方法三:
foods.remove("炸洋芋")
print(f"第三次删除元素后的列表为:{foods}")# 统计列表中有几个"炸洋芋"
count1 = foods.count("炸洋芋")
print(f"此时列表中的”炸洋芋“个数是:{count1}个")# 统计列表中此时有几个元素
print(f"此时列表中的元素个数为:{len(foods)}个")# 清空列表
foods.clear()
print(f"列表被清空了,此时列表为:{foods}")
示例结果:
"过桥米线"元素的下标为:2
此时下标为2的元素的值为:"木瓜凉水"
插入元素后的列表为:['炸洋芋', '蒸饵丝', '木瓜凉水', '过桥米线', '烧饵块', '炸洋芋', '炸洋芋']
追加元素后的列表为:['炸洋芋', '蒸饵丝', '木瓜凉水', '过桥米线', '烧饵块', '炸洋芋', '炸洋芋', '鲜花饼']
追加元素后的列表为:['炸洋芋', '蒸饵丝', '木瓜凉水', '过桥米线', '烧饵块', '炸洋芋', '炸洋芋', '鲜花饼', '子弟薯片']
第一次删除元素后的列表为:['炸洋芋', '蒸饵丝', '过桥米线', '烧饵块', '炸洋芋', '炸洋芋', '鲜花饼', '子弟薯片']
第二次删除元素后的列表为:['炸洋芋', '蒸饵丝', '烧饵块', '炸洋芋', '炸洋芋', '鲜花饼', '子弟薯片'], 被删除的元素是:"过桥米线"
第三次删除元素后的列表为:['蒸饵丝', '烧饵块', '炸洋芋', '炸洋芋', '鲜花饼', '子弟薯片']
此时列表中的”炸洋芋“个数是:2个
此时列表中的元素个数为:6个
列表被清空了,此时列表为:[]
1.4、列表的遍历
我们直接上示例演示吧
先看一下使用while循环:
nums = [1, 2, 0, 3, 0, 1]def list_while():"""用while循环遍历列表的演示函数:return: None"""# 定义一个变量来记录下标index = 0while index < len(nums):# 通过下标index遍历列表print(f"列表的第{index + 1}个元素为:{nums[index]}")# 记得将下标加一index += 1list_while()
示例结果:
列表的第1个元素为:1
列表的第2个元素为:2
列表的第3个元素为:0
列表的第4个元素为:3
列表的第5个元素为:0
列表的第6个元素为:1
使用for循环:
nums = [1, 2, 0, 3, 0, 1]def list_for():"""用for循环遍历列表的演示函数:return: None"""for i in nums:print(f"列表中的元素为:{i}")list_for()
示例结果:
列表中的元素为:1
列表中的元素为:2
列表中的元素为:0
列表中的元素为:3
列表中的元素为:0
列表中的元素为:1
注意:两种方式都可以实现列表遍历,其中while循环适用于任何循环场景,for循环适用于遍历容器的场景或者简单固定的循环场景。
今日就先到这里啦~ 各位看官,咱们改日再会~
相关文章:
小白自学python第三天
学习python第三天 一、函数 1、函数介绍 函数就是组织好的,可重复使用的,用以实现特定功能的代码块。 现在我们现在需要统计多个字符串长度并且不考虑使用内置函数,你会怎么做?我们先用一种原始人办法看看吧: str…...
【CF】Day44——Codeforces Round 908 (Div. 2) C + Codeforces Round 1020 (Div. 3) DE
C. Anonymous Informant 题目: 思路: 比这场的D难,虽然也不是很难 一个很容易想到的就是由当前状态推出初始状态,那么怎么推呢? 一个性质就是如果对于某一个 x 它可以执行左移操作的话,那么它一定会到数组…...
深入理解HashMap:Hash冲突的解决机制
引言 HashMap 是 Java 集合框架中最常用的数据结构之一,它通过键值对的形式存储数据,并利用哈希算法实现高效的插入、删除和查询操作。然而,在实际使用中,由于哈希函数的有限性和哈希桶数量的限制,不可避免地会出现 哈…...
Datawhale AI春训营二期---使用AI实现老人的点餐效果(关于task2的相关思考)
文章目录 1.多次测试的结果2.分数是如何提高的3.关于上分点拨4.关于task2的收获 1.多次测试的结果 第一次和第二次的,都是使用的baseline: 第三次的: 2.分数是如何提高的 之前的几次都是通过这个baseline进行运行的,然后今天是了解了一下这…...
摩尔投票法详细介绍
原理 摩尔投票法(Boyer-Moore Voting Algorithm)是一种用于在存在多数元素的数组中,高效找出出现次数超过数组长度一半的元素的算法。其核心思想是通过元素抵消策略,逐步缩小候选范围,最终确定多数元素。 核心假设&a…...
DP之书架
现按一定顺序给出所有要放置于书架上的书,共有 n 本,第 i 本书有一个长度 hi。 书架有若干层,层与层之间的宽度不一定相等,但是一层的宽度不能小于其上所摆放的任何一本书的长度。同时,每层上的书的长度之和不能超过…...
Python Cookbook-6.11 缓存环的实现
任务 你想定义一个固定尺寸的缓存,当它被填满时,新加入的元素会覆盖第一个(最老的)元素。这种数据结构在存储日志和历史信息时非常有用。 解决方案 当缓存填满时,本节解决方案及时地修改了缓存对象,使其从未填满的缓存类变成了…...
计算机网络基本概念
层次名称主要功能第七层应用层直接面向用户,提供应用服务(如浏览网页、发邮件)第六层表示层处理数据格式、加密解密、压缩解压第五层会话层建立、管理、终止会话(连接)第四层传输层提供端到端的数据传输(如…...
Eigen线性代数求解器(分解类)
1. 核心分解类概览 Eigen 提供多种矩阵分解方法,适用于不同矩阵类型(稠密/稀疏、正定/非正定等): 分解类适用矩阵类型分解形式典型应用场景PartialPivLU方阵(可逆)APLUAPLU通用线性方程组求解FullPivLU任…...
【Android】四大组件之Service
目录 一、什么是Service 二、启停 Service 三、绑定 Service 四、前台服务 五、远程服务扩展 六、服务保活 七、服务启动方法混用 你可以把Service想象成一个“后台默默打工的工人”。它没有UI界面,默默地在后台干活,比如播放音乐、下载文件、处理…...
VO包装类和实体类分别是什么?区别是什么?
VO包装类和实体类 1. 实体类(Entity Class)是什么?2. VO包装类(Value Object Class)是什么?3. VO包装类和实体类的区别4. 实际应用中的区别5. 举例5.1. 实体类(Entity Class)的定义与…...
如何创建一个C#项目(基于VS2022版)
一.先找到要保存项目的位置,新建一个文件夹 二.打开VisualStudio,选择创建新项目 三.选择模版: 选择操作语言和操作系统 这个是跨平台的 初学在windows系统上,可选择其他,下面这个是不带窗体模版 也可根据需要选择带窗体模版 点击下一步 填写项目名称,选择项目保存位置,填写解…...
RabbitMQ 四种交换机(Direct、Topic、Fanout、Headers)详解
本文是博主在梳理 RabbitMQ 知识的过程中,将所遇到和可能会遇到的基础知识记录下来,用作梳理 RabbitMQ 的整体架构和功能的线索文章,通过查找对应的知识能够快速的了解对应的知识而解决相应的问题。 文章目录 一、直连交换机(Dire…...
聚合分销系统开发:短剧小说外卖网盘电商cpscpa系统
聚合分销系统是一种整合了多种分销项目和功能的综合性平台,其核心在于通过CPS(按销售付费)和CPA(按行为付费)两种模式,为推广者提供多样化的赚钱机会。以下是聚合分销系统的主要项目和功能: 一…...
【Flume 】Windows安装步骤、配置环境
🛠 Flume 是什么? Apache Flume 是一个高效、可靠、可扩展的数据收集系统,通常用于收集日志、流数据,比如收集数据到 HDFS、Kafka 等。 虽然 Flume 本身是为 Linux 服务器设计的,但 在 Windows 本地也是能跑起来的&a…...
【信息系统项目管理师】高分论文:论质量管理和进度管理(智慧旅游平台建设项目)
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文1、规划质量管理2、质量保证3、质量控制论文 2019年3月,我作为项目经理,参加了某市智慧旅游平台建设项目,负责项目的全面管理, 该项目以打造一流的国内外生态旅游城市为目标,旨在大数据云平台建设的基…...
一致性哈希详解:优雅地扩展分布式系统
引言 对于哈希算法,相信大家一定不会陌生。它经常被用在负载均衡、分库分表等场景中。例如,在进行分库分表时,我们可能初步根据业务分析,确定 128 张表足以满足当前的数据量需求。此时,当需要插入或查询一条记录时&am…...
pytest 技术总结
目录 一 pytest的安装: 二 pytest有三种启动方式: 三 用例规则: 四 配置框架: 一 pytest的安装: pip install pytest # 安装 pip install pytest -U # 升级到最新版 二 pytest有三种启动方式: 1…...
数据库MySQL学习——day5(总结与复习实践)
文章目录 1、复习总结1.1. 数据库基础1.2. 表操作1.3. 数据操作1.4. 更新与删除 2、实践任务:创建学生管理系统数据库2.1. 数据库设计2.2. 创建表的SQL语句2.3. 插入示例数据2.4. 查询与数据操作示例 3、调试与练习4、 今日小结 1、复习总结 1.1. 数据库基础 数据…...
unity bug
发现一个奇怪的bug,就是某些unity版本打包apk时候不允许StreamingAssets里面有中文文件或者中文路径。比如下图这面这俩都是不行的。 解决方案:中文改为英文即可。 一般报错信息如下: > Configure project :launcher WARNING:The option s…...
苹果计划2026年底前实现美版iPhone“印度造”,以减轻关税及地缘政治风险
基于 6 个来源 据多家媒体报道,苹果公司计划在2026年底前,实现在印度组装销往美国的大部分或全部iPhone手机,以减轻关税和地缘政治紧张局势带来的风险。这一目标意味着苹果需将印度的iPhone产量增加一倍以上,凸显其供应链多元化战…...
新增Webhook通知功能,文档目录树展示性能优化,zyplayer-doc 2.5.1 发布啦!
zyplayer-doc是一款适合企业和个人使用的WIKI知识库管理工具,支持在线编辑富文本、Markdown、表格、Office文档、API接口、思维导图、Drawio以及任意的文本文件,支持基于知识库的AI问答,专为私有化部署而设计,最大程度上保证企业或…...
【量化交易笔记】17.多因子的线性回归模型策略
前言 上一篇介绍了 因子的评价和分析方法,让我知道如何判断该因子的作用,以及对最终结果的影响,其最大的问题,他只能评价和分析单因子,而对多个因子,不能直接加以评价。我们自然会想到,如果是多…...
五年经验Java开发如何破局创业
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息文章目录 五年经验Java开发如何破局创业一、创业方向筛选与优劣势分析**方向1:技术教育/在线课程开发****方向2:企业级技术服务外包****方向3:技…...
定制一款国密浏览器(11):SM2算法的椭圆曲线参数定义
在国密算法中,SM2 算法是最复杂的,不仅是算法本身比较复杂,其应用场景也复杂。不管 SM2 算法本身有多复杂,作为开发者,我们需要知道的是 SM2 算法是建立在椭圆曲线算法(ECC)之上。关于 SM2 算法和椭圆曲线算法之间的关系,参考我之前的一篇文章: 解读国密非对称加密算…...
RAG技术与应用---0426
大语言模型>3.10 课程中会用到python 工具箱: faiss,modelscope,langchain,langchain_community,PyPDF2 1)大模型应用开发的三种模式 提示词没多少工作量,微调又花费时间费用,RAG是很多公司招聘用来对LLM进行应用…...
STM32的开发环境介绍
目录 STM32软件环境 Keil软件在线安装 其他软件环境安装 STM32开发的几种方式 STM32寄存器版本和库函数版本 标准外设库的作用: STM32软件环境 STM32 的集成开发环境(IDE):编辑编译软件 常见的环境: (1)KEIL&a…...
【生成式AI】从原理到实践的创造性革命
目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现(文生图) 三、性能对比测试方法论量化数据对比结果分析 四、最佳实践推荐方…...
Win下Pycharm运行/调试配置脚本形参执行替换Linux下终端执行,进行调试需要注意的
Linux下终端执行 python demo/image_demo.py demo/demo.jpg rtmdet_tiny_8xb32-300e_coco.py --weights rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth --device cpuWin下Pycharm运行/调试配置脚本形参执行 主要改红色两处 如果工作目录正确,脚本形参…...
Pytorch(无CPU搭建)+Jupyter
2024年最新最简洁深度学习环境配置:AnacondaPyTorch(CPU、GPU)VScodePycahrm_哔哩哔哩_bilibili 跟 PyCharm說再見, [VSCode] PythonJupyter 超牛逼的功能 ! 5分鐘大幅提升編碼效率~ 數據分析、AI大神必備_哔哩哔哩_bilibili...
类的高级特性与语法细节
static 静态关键字 Java中的static关键字用于修饰类的成员(属性或方法),表示“静态”的含义,即属于类本身,而非某个对象。静态成员在内存中只有一份,在类加载时初始化,生命周期贯穿程序运行始终…...
基于 RAG 的 Text2SQL 全过程的 Python 实现详解,结合 LangChain 框架实现自然语言到 SQL 的转换
什么是RAG 一、核心流程:三阶段协同 RAG的核心流程分为检索(Retrieval)、增强(Augmentation)、生成(Generation)三个阶段,形成“检索→知识整合→生成”的闭环。 1. 检索ÿ…...
使用 OpenCV 进行视觉图片调整的几种常见方法
以下是使用 OpenCV 进行视觉图片调整的几种常见方法: 调整图片大小 指定目标尺寸:使用cv2.resize()函数,通过设定目标图像的宽度和高度来调整图片大小。例如,将图片调整为 200x200 像素: import cv2 image cv2.imre…...
【特殊场景应对9】视频简历的适用场景与风险分析
写在最前 作为一个中古程序猿,我有很多自己想做的事情,比如埋头苦干手搓一个低代码数据库设计平台(目前只针对写java的朋友),比如很喜欢帮身边的朋友看看简历,讲讲面试技巧,毕竟工作这么多年,也做到过高管,有很多面人经历,意见还算有用,大家基本都能拿到想要的offe…...
Dify 1.3.0 为 LLM 节点引入了结构化输出支持
Dify 1.3.0 为 LLM 节点引入了结构化输出支持 0. 引言1. 使用方法 0. 引言 Dify 1.3.0 开始,在 LLM 节点支持结构化输出:Dify 已经为 LLM 节点引入了结构化输出支持。这意味着您的语言模型现在可以返回整齐组织且易于处理的数据。后端实现由 Nov1c444 在…...
【Linux网络】HTTP协议全解析 - 从请求响应到方法与Header
📢博客主页:https://blog.csdn.net/2301_779549673 📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! &…...
JSP实现用户登录注册系统(三天内自动登录)
JSP实现用户登录注册系统 引言 在Web开发中,用户认证是最基础且核心的功能之一。本文基于JSP技术,实现了一个包含注册、登录、自动登录(3天内)、退出等功能的用户系统,并在过程中解决了Cookie字符错误、错误信息回显…...
大数据模型现状分析
大数据模型现状分析 一、引言 在当今数字化时代,数据以前所未有的速度增长,大数据已成为推动各行业发展的核心动力。大数据模型作为挖掘数据价值的关键工具,正受到广泛关注与深入研究。通过对海量、多样且高速产生的数据进行处理和分析&…...
代码随想录算法训练营第二十八天
LeetCode题目: 509. 斐波那契数70. 爬楼梯746. 使用最小花费爬楼梯2444. 统计定界子数组的数目(每日一题) 其他: 今日总结 往期打卡 动态规划解题步骤: 确定递推公式确定遍历顺序记忆化搜索(确定dp数组以及下标的含义与初始化值)递推优化与空间优化 509. 斐波那契数 跳转: 5…...
HTML与安全性:XSS、防御与最佳实践
HTML 与安全性:XSS、防御与最佳实践 前言 现代 Web 应用程序无处不在,而 HTML 作为其基础结构,承载着巨大的安全责任。跨站脚本攻击(XSS)仍然是 OWASP Top 10 安全威胁之一,对用户数据和网站完整性构成严…...
三维重建(二十)——思路整理与第一步的进行
文章目录 一、整体思路二、细分三、之前存在问题四、任务安排五、第一步——找到内参并选定一种5.1 train的RTK5.2 test的RTK5.3 各选择一个5.3.1 train-185.3.2 test-193一、整体思路 这部分主要是宏观的讲一下整体框架。 从gshell里面提取核心参数,放入py3d,渲染出图片,…...
判断 ONNX 模型是否支持 GPU
🔍 判断 ONNX 模型是否支持 GPU 的几个关键点: ✅ 1. 检查模型支持的 Execution Provider 可以通过下面的代码打印出来当前模型使用了什么设备: 需要安装好:onnxruntime-gpu import onnxruntime as ort session ort.InferenceSe…...
CANFD技术在实时运动控制系统中的应用:协议解析、性能测试与未来发展趋势
摘要: 本文深入探讨了CANFD技术在实时运动控制系统中的应用。通过对传统CAN协议与CANFD协议的对比分析,详细阐述了CANFD在提升数据传输效率、增强系统实时性与稳定性方面的优势。文章结合具体测试案例,对CANFD总线的性能指标进行了全面评估&a…...
Java基础 4.26
1.访问修饰符细节 package com.logic.modifier;public class A {public int n1 100;protected int n2 200;int n3 300;private int n4 400;public void m1() {//在同一个类中 可以访问public protected 默认 private 修饰属性和方法System.out.println(n1 " " …...
山东大学离散数学第九章习题解析
参考教材:离散数学教程,徐秋亮 / 栾俊峰 / 卢雷 / 王慧 / 赵合计 编著,山东大学计算机科学与技术学院 注:该解析为个人所写,涵盖了 2022-2023-2 学期赵合计老师所布置的所有课本习题;由于学识、认识及经验…...
5G融合消息PaaS项目深度解析 - Java架构师面试实战
5G融合消息PaaS项目深度解析 - Java架构师面试实战 场景:互联网大厂Java求职者面试,面试官针对5G融合消息PaaS项目进行提问。 第一轮提问 面试官:马架构,请简要介绍5G融合消息PaaS平台的核心功能和应用场景。 马架构ÿ…...
React-Redux
1、安装 npm i redux react-redux reduxjs/toolkit 2、基础使用方式(无 Toolkit) (1)核心Api createStore:创建数据仓库;store.dispatch():用于派发action,执行修改动作…...
Linux基础篇、第4章_03系统磁盘高级管理LVM 逻辑卷管理器
题目:系统磁盘高级管理LVM 逻辑卷管理器 版本号: 1.0,0 作者: 老王要学习 日期: 2025.04.26 适用环境: Centos7 文档说明 本文档聚焦于 Centos7 系统下的磁盘高级管理,围绕 LVM 逻辑卷管理器展开。详细介绍了物理卷、卷组和逻辑卷的创建、管理与删除操…...
代码随想录算法训练营Day36
力扣1049.最后一块石头的重量Ⅱ【medium】 力扣474.一和零【meidum】 一、力扣1049.最后一块石头的重量Ⅱ【medium】 题目链接:力扣1049.最后一块石头的重量Ⅱ 视频链接:代码随想录 1、思路 把这个问题转换成尽可能将 stones 分成两个等分子集…...
iperf网络性能测试
iperf 是一个网络性能测试工具,用于测量网络带宽、延迟、抖动等性能指标。它支持 TCP 和 UDP 协议,可以在客户端和服务器模式下运行,广泛用于网络性能评估和故障排查。 主要功能 带宽测试:测量网络的最大可用带宽。延迟测试&…...