当前位置: 首页 > news >正文

Python学习之numpy

Python学习之numpy

数组是Numpy库的核心数据结构。

NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。

Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功能。 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包。 这个开源项目有很多贡献者。

数组的创建

# 创建数组的基本方式-向np.array传入一个列表
a = np.array([1,2,3])
b = np.array([[1,2,3],[4,5,6]])
# 索引数组中的数字
print(a[0])
print(b[0,0])# 其他创建数组的方式如下# np.zeros()
a = np.zeros(2)#创建一个长度为2的全0数组,向np.zeros()中传递的参数是一个表示数组形状(shape)的元组
print(a)
b = np.zeros((2,2))#创建一个长度为2*2的全0数组
print(b)#np.ones()
a = np.ones(2) #创建一个长度为2的全1数组
print(a)
b = np.ones((2,2)) #创建一个长度为2*2的全1数组
print(b)# np.full()
a = np.full(2,7) #创建一个长度为2的数组,每个元素都是7
print(a)
b = np.full((2,2),7) #创建一个长度为2*2的数组,每个元素都是7
print(b)#np.arange()
a = np.arange(1,10,1) #创建一个数组,元素为1到9,步长为1
print(a)
b = np.arange(1,10,2) #创建一个数组,元素为1到9,步长为2
print(b)# np.linspace()应用十分广泛,在可视化以及数值计算中都会用到,名字来源于“linear space”(线性空间),因为它在指定的范围内均匀地生成数值。
a = np.linspace(0,1,5) #创建一个数组,元素为0到1,共5个数
print(a)# 在创建数组时,可以指定数据类型
a = np.array([1,2,3], dtype=float)
print(a)
b = np.array([1,2,3], dtype=np.int32)
print(b)# 由于在现实应用中,二维数组(矩阵)最为常见,下面局里一个单位矩阵的例子
a = np.eye(2) # 创建一个2*2的单位矩阵
print(a)
b = np.eye(3) # 创建一个3*3的单位矩阵
print(b)

数组的索引与切片

# numpy中与list相似的索引与切片操作
a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print(a)
print("--------------------------")
b = a[:2,1:3] #取a的前两行,第2到第3列
print(b)
print("--------------------------")
c = a[0,1] #取a的第1行第2列
print(c)
print("--------------------------")
row_r1=a[1,:] #取a的第2行
print(row_r1)
print("--------------------------")
line = a[:,1] #取a的第2列
print(line)# 从数组中选择满足特定条件的值
a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print(a[a<5]) #取出a中小于5的元素
print(a[a>=5]) #取出a中大于等于5的元素
print(a[a%2==0]) #取出a中所有偶数
print(a[a%2!=0]) #取出a中所有奇数
print("--------------------------")
# 筛选出满足条件的元素,并将其赋值为0
a[a<5]=0
print(a)

元素的添加删除与排序,数组的拼接与拆分

# 元素的添加删除
a = np.array([1,2,3])
a = np.append(a,4) #向数组a中添加元素4
print(a)
print("-----------------")a = np.array([1,2,3],[4,5,6])
a = np.append(a,[[7,8,9]], axis=0) #向数组中添加一行
print(a)
print("-----------------")a = np.append(a,[[10],[11],[12]], axis=1) #向数组中添加一列a = np.delete(a,1,axis=0) #删除数组中第二行a = np.delete(a,1,axis=1) #删除数组中第二列a = np.insert(a,1,[1,2,3],axis=0) #在数组a中的第二行插入元素a = np.insert(a,1,5,axis=1) #在数组a中的第二列插入元素
# 数组的拼接
a = np.array([[1,2],[3,4]])
b = np.array([5,6])
c = np.concatenate((a,b),axis=0) #在数组a的下方拼接数组ad = np.array([[5],[6]])
e = np.concatenate((a,b),axis=1) #在数组a的右边拼接数组a,注意b和d数组的书写方式不同
# 数组的拆分
a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
b = np.hsplit(a,2) #将数组a进行水平拆分,拆成2个数组
b = np.vsplit(a,2) #将数组a进行垂直拆分,拆成3个数组

注意:在数组拆分的过程中,使用np,vslit进行垂直拆分的时候,看上去是对数组进行了水平拆分,其实要堪称数组在内存中的存储形式,[[1,2,3,4],[5,6,7,8],[9,10,11,12]],进行垂直拆分就是3个数组,如果写成数学上的矩阵,就是“水平”拆分,其实是垂直拆分,要注意区别

# 数组的排序
a = np.array([3,2,1])
b = np.sort(a) #对数组a及进行(默认升序)排序a = np.array([4,3,5],[1,2,1])
b = np.sort(a,axis=1) #按行排序
b = np.sort(a,axis=0) #按列排序
# 了解numpy数组的形状,大小,维度
a = np.array([[1,2,3],[4,5,6]])
print(a.shape) #数组a形状
print(a.size) #数组a的大小
print(a.ndim) #数组a维度 number of array dimensions
#Numpy数组的重塑 np.reshape()方法
a = np.array([[1,2,3],[4,5,6]])b = np.reshape(3,2) #将数组a重塑为3行2列c = np.reshape(6,1) #将数组a重塑为6行1列d = np.reshape(1,6) #将数组a重塑为1行6列(二维)e = np.reshape(6) #将数组a重塑为1行6列(一维)
# numpy数组维度的交换 np.transpose()方法
a = np.array([[1,2,3],[4,5,6]])
b = a.T #对数组a进行转置#二维变一维 展平操作 np.flaten()
c = a.flatten() #将数组a变为一维数组#一维变二维
d = c.reshape(2,3) #将数组c重塑为2行3列
#numpy数组的运算
a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])
print(a+b) #矩阵a与矩阵b的对应位置加法运算
print(a-b) #矩阵a与矩阵b的对应位置减法运算
print(a*b) #矩阵a与矩阵b的对应位置乘法运算,并非线性代数中的矩阵乘法
print(a/b) #矩阵a与矩阵b的对应位置除法运算
print(np.dot(a,b)) #线性代数中的矩阵乘法
print(a+1) #数组中每个元素+1
print(a*1) #数组中每个元素*1
# numpy数组的广播机制
# 广播机制:NumPy的广播机制允许在不同形状的数组之间进行算术运算,自动扩展较小的数组以匹配较大的数组形状
# 广播机制的规则:如果两个数组的后缘维度(即从末尾开始算起的维度)的轴长度相符或其中一方的长度为1,则认为他们是广播兼容的
#广播机制的核心规则‌
#维度对齐‌:从右向左按元素比较形状,不足的维度在左侧补1。
#兼容性检查‌:每个维度的大小必须满足以下之一:
#	相等
#	其中一个为1(该维度会被扩展)
# 广播机制的目的:是为了使两个数组的形状相同,以便进行数学运算
a = np.array([[1,2,3],[4,5,6]])
b= np.array([1,2,3]) #由于b是以为数组故其形状为(3,)表示三列,如果b是二维数组的话则表示为(1,3)一行三列
print(b)
print(b.shape)
print(a.shape)
print(a+b) 
#a的形状为(2,3),b的形状为(3,),则b的形状就会沿着维度为1的维度进行扩展,变成(1,3),再与a的形状进行匹配,最终两#个数组的形状变成(2,3),可进行加法运算
# 使用numpy数组进行数学运算
a = np.array([[1,2],[3,4]])
print(np.sum(a)) #计算数组a中所有元素的和
print(np.sum(a,axis=0)) #计算数组a中每一列的和
print(np.sum(a,axis=1)) #计算数组a中每一行的和
print(np.mean(a)) #计算数组a中所有元素的平均值print(np.max(a)) #计算数组a中所有元素的最大值
print(np.max(a,axis=0)) #计算数组a中每一列的最大值
print(np.max(a,axis=1)) #计算数组a中每一行的最大值#numpy中的数学函数
print(np.exp(a)) #计算数组a中每个元素的指数
print(np.log(a)) #计算数组a中每个元素的自然对数
print(np.sqrt(a)) #计算数组a中每个元素的平方根
print(np.sin(a)) #计算数组a中每个元素的正弦值
print(np.cos(a)) #计算数组a中每个元素的余弦值
print(np.tan(a)) #计算数组a中每个元素的正切值
# 使用numpy生成随机数
# 随机种子
np.random.seed(114514)a = np.random.random(2) #生成一个长度为2的随机数组
b = np.random.random((2,2)) #生成一个长度为2*2的随机数组
c = np.random.randint(1,10,2) #生成一个长度为2的随机整数数组
d = np.random.randn(2) #生成一个长度为2的服从标准正态分布的随机数组  n:normal
e = np.random.uniform(0,1) #生成一个服从0到1均匀分布的随机数

相关文章:

Python学习之numpy

Python学习之numpy 数组是Numpy库的核心数据结构。 NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。 Numeric&#xff0c;即 NumPy 的前身&#xff0c;是由 Jim Hugunin 开发的。 也开发了另一个包 Numarr…...

ext4磁盘扩容

ext4扩容示例 当前虚机中&#xff0c;逻辑卷名称data_lv&#xff0c;卷组名称data_vg&#xff0c;物理卷名称data_pv&#xff0c;他们的大小都为100G&#xff0c;由于磁盘空间不够使用&#xff0c;申请扩容硬盘至200G&#xff0c;以下操作将ext4的/data分区扩容至200G。 # 1.…...

PostgreSQL 16深度解析(从16.0-16.8)

作为开源关系型数据库的标杆&#xff0c;PostgreSQL持续通过版本迭代展现其技术生命力。本文将以技术视角深度剖析PostgreSQL 16系列&#xff08;16.0至16.8&#xff09;的核心演进&#xff0c;重点解读新增功能、性能优化及实践价值&#xff0c;为数据库管理者与开发者提供升级…...

10个DeepSeek、ChatGPT提示词更快更好的学术文献阅读!

目录 AIGC助力快速阅读文献 10个文献阅读提示词 大家好这里是AIWritePaper官方账号&#xff0c;官网&#x1f449;AIWritePaper~ AIGC助力快速阅读文献 在当今学术界&#xff0c;海量的论文如潮水般涌来&#xff0c;想要跟上最新研究进展简直比在图书馆里找到一本没被借走的…...

基于spring boot 鲜花销售系统PPT(源码+lw+部署文档+讲解),源码可白嫖!

课题意义 随着网络不断的普及发展&#xff0c;鲜花销售系统依靠网络技术的支持得到了快速的发展&#xff0c;首先要从用户的实际需求出发&#xff0c;通过了解用户的需求开发出具有针对性的信息管理系统&#xff0c;利用目前网络给用户带来的方便快捷这一特点对系统进行调整&am…...

Spring Boot 与 TDengine 的深度集成实践(三)

创建 RESTful API 编写控制器类 在 Spring Boot 项目中&#xff0c;控制器类负责处理 HTTP 请求&#xff0c;并将请求转发到相应的服务或数据访问层进行处理&#xff0c;最后返回响应结果给客户端。我们通过使用RestController和RequestMapping注解来定义控制器类和 API 路由…...

物理日志和逻辑日志

在 MySQL 的日志系统中&#xff0c;物理日志 和 逻辑日志 是两种不同类型的日志记录方式&#xff0c;它们的设计目标和实现方式有本质区别。以下是它们的详细解释和对比&#xff1a; 1. 物理日志 定义 物理日志记录的是数据页&#xff08;Page&#xff09;的物理修改&#x…...

[Deep-ML]Reshape Matrix(重塑矩阵)

Reshape Matrix&#xff08;重塑矩阵&#xff09; 题目链接&#xff1a; Reshape Matrix&#xff08;重塑矩阵&#xff09;https://www.deep-ml.com/problems/3 题目描述&#xff1a; 难度&#xff1a; easy&#xff08;简单&#xff09;。 分类&#xff1a; Linear Alg…...

Linux文件系统中的Page Cache和内存管理中的Page之间的关系

Linux文件系统中的Page Cache和内存管理中的Page之间有密切的关联&#xff0c;两者在底层机制上紧密结合&#xff0c;共同实现高效的内存和文件系统管理。以下是它们的关系和关键点&#xff1a; 核心关系 Page Cache的底层是内存Page Page Cache是由内存管理中的物理内存页&…...

day25-回溯__491.递增子序列 __46.全排列__47.全排列 II

491.递增子序列 这道题要求输出一个数组的所有非递减子序列&#xff0c;并且数组中是可以存在重复元素的&#xff0c;那么我们需要考虑的就一定是之前的树层去重的方法 并且要求非递减&#xff0c;所以我们每次添加元素到path要先判断两个条件&#xff1a; 该元素的值是否在同…...

微型导轨的制造工艺中,热处理的目的是什么?

热处理是指将金属或合金加热到一定温度&#xff0c;保温一段时间&#xff0c;然后通过适当的冷却方式使其发生物理变化&#xff0c;从而使其性能发生改变的加工技术&#xff0c;而在微型导轨的制造工艺中&#xff0c;热处理是必须的&#xff0c;那么热处理的目的是什么呢&#…...

学透Spring Boot — 018. 优雅支持多种响应格式

这是我的专栏《学透Spring Boot》的第18篇文章&#xff0c;想要更系统的学习Spring Boot&#xff0c;请访问我的专栏&#xff1a;学透 Spring Boot_postnull咖啡的博客-CSDN博客。 目录 返回不同格式的响应 Spring Boot的内容协商 控制器不用任何修改 启动内容协商配置 访…...

数据结构与算法----顺序表和复杂度

嘻嘻&#xff0c;我们用c语言来手撕顺序表&#xff01;&#xff01;&#xff01;全程高能比喻代码实战&#xff0c;保证你笑着学会&#xff01;&#xff01;&#xff01; 引言 1、数据结构是计算机存储、组织数据的方式。算法是一系列计算步骤&#xff0c;用来将输入数据转化…...

Android studio局域网屏幕共享(旧手机可以用来当监控啦)

项目地址 https://github.com/Anyuersuper/ScreenSharing 百度网盘 通过网盘分享的文件&#xff1a;ScreenSharing-master.zip 链接: https://pan.baidu.com/s/1URQnyI8zJF-IFl5_-ttXBg?pwdyuer 提取码: yuer &#x1f4f1; 屏幕分享应用 (ScreenSharing) &#x1f4cb; 项目…...

Redis持久化之RDB

RDB持久化是将当前进程数据生成快照保存到硬盘的过程&#xff0c;触发RDB持久化过程分为手动触发和自动触发。 1.触发机制 手动触发费别对应save和bgsave命令&#xff1a; save命令&#xff1a;阻塞当前Redis服务器&#xff0c;直到RDB过程完成为止&#xff0c;对于内存比较…...

Ubuntu 64-bit 交叉编译 FFmpeg(高级用户指南)

适用于 ​​ARM (aarch64)、Windows (mingw)、Android、Raspberry Pi​​ 等平台的交叉编译。 ​​&#x1f539; 1. 安装交叉编译工具链​​ ​​ARM (aarch64) 示例​ sudo apt update sudo apt install gcc-aarch64-linux-gnu g-aarch64-linux-gnu binutils-aarch64-linux…...

YOLO V8中的​“中心点邻近区域 + 动态IoU匹配“

它是联合优化正样本分配的策略&#xff0c;旨在更精准地匹配预测框与真实目标的位置关系。以下分步详解其原理&#xff1a; 1. 中心点邻近区域&#xff08;Central Region&#xff09;​​ ​​1.1 目标中心区域定义​​ ​​基础思想​​&#xff1a;将真实边界框&#xff…...

【MySQL | 八、 事务管理】

文章目录 什么是事务&#xff1f;事务的特性&#xff1a;事务的意义事务的提交查看事务提交方式事务的自动提交事务的手动提交开始事务执行SQL操作事务操作提交事务示例&#xff1a; 事务的隔离级别并发访问的基本概念并发事务的典型问题对ACID特性的影响查看和设置隔离属性各个…...

Ubuntu 下搭建 MCU 开发环境全流程指南(以 STM32 为例)

在嵌入式开发中,许多工程师都习惯于在 Windows 平台使用 Keil、IAR 等 IDE。然而,随着对自动化、可定制性以及开放工具链的需求增长,越来越多的开发者开始尝试在 Linux 环境下进行 MCU 开发。 本篇文章将以 STM32F1 系列 为例,手把手带你在 Ubuntu 下搭建一个完整的 MCU 开…...

Redis淘汰策略详解!

目录 一、为什么需要淘汰策略&#xff1f; &#x1f914;二、Redis 的淘汰策略详解 &#x1f447;三、如何选择合适的淘汰策略&#xff1f; &#x1f914;➡️✅四、如何切换 Redis 的淘汰策略&#xff1f; ⚙️&#x1f527;五、总结 &#x1f389; &#x1f31f;我的其他文章…...

基于51单片机和TM1638模块的小游戏《打地鼠》

目录 系列文章目录前言一、效果展示二、原理分析三、各模块代码1、TM1638模块2、定时器03、定时器1 四、主函数总结 系列文章目录 前言 有两个版本&#xff0c;普中开发板版本和最小系统板版本&#xff0c;两个版本差别在于晶振频率不一样&#xff0c;其他的都相同。 本文代码…...

机器学习之数据预处理(一):缺失值处理和异常值识别的几种常用方法

始终致力于将复杂知识通俗化的不断追求中&#xff0c;不足之处欢迎批评指正。 1、噪声处理 噪声是一个测量变量中的随机错误或偏差&#xff0c;是观测值和真实值之间的误差&#xff0c;包括错误值或偏离期望的孤立点值。对于噪声的处理&#xff0c;通常可以采用数据平滑技术来…...

25/4/6 算法笔记<仿真O2DES>基础知识学习

此文章就来整理一下我学习到的O2DES仿真框架的一些核心知识 核心概念&#xff1a; 模拟器&#xff08;Simulator&#xff09;&#xff1a;模拟器是O2DES框架的核心组件&#xff0c;用来管理模拟时钟&#xff0c;事件调度和执行。可以通过Simulator类创建模拟环境&#…...

Three.js 系列专题 3:光照与阴影

内容概述 光照是 3D 场景真实感的关键。Three.js 提供了多种光源类型,每种光源有不同的效果和用途。本专题还将介绍如何启用和优化阴影效果,提升场景的深度感。 学习目标 理解不同光源类型及其应用场景。掌握在 Three.js 中添加光源并启用阴影。学会调整阴影效果以平衡真实…...

接口自动化学习五:mock工具使用

Moco简介&#xff1a; Mock是一个简单搭建模拟服务器的框架&#xff0c;可以用来模拟http、https、socket等协议。 原理&#xff1a; Mock会根据一些配置&#xff0c;启动一个真正的HTTP服务&#xff08;会监听本地的某个端口&#xff09;,当发起的请求满足某个条件时&#xf…...

Java学习——day22(Java反射基础入门)

文章目录 1.反射的定义2. 认识反射的关键API2.1 Class2.2 Field2.3 Method2.4 Constructor 3. 示例代码讲解与分析4. 编写反射示例代码的步骤4.1 定义测试类4.2 编写主程序&#xff0c;使用反射获取信息4.3 通过反射创建对象并调用方法 5. 总结6.今日生词 Java反射笔记 1.反射的…...

字符串、列表、元组、字典

字符串 双引号或者单引号中的数据&#xff0c;就是字符串 字符串输入 之前在学习input的时候&#xff0c;通过它能够完成从键盘获取数据&#xff0c;然后保存到指定的变量中&#xff1b; 注意&#xff1a;input获取的数据&#xff0c;都以字符串的方式进行保存&#xff0c;即…...

数据分析-Excel-学习笔记

Day1 复现报表聚合函数&#xff1a;日期联动快速定位区域SUMIF函数SUMIFS函数环比、同比计算IFERROR函数混合引用单元格格式总结汇报 拿到一个Excel表格&#xff0c;首先要看这个表格个构成&#xff08;包含了哪些数据&#xff09;&#xff0c;几行几列&#xff0c;每一列的名称…...

Nginx 常见面试题

一、nginx常见错误及处理方法 1.1 404 bad request 一般原因&#xff1a;请求的Header过大 解决办法&#xff1a; 配置nginx.conf 相关设置1. client_header_buffer_size 16k; 2. large_client_header_buffers 4 64k;1.2 413 Request Entity Too Large 一般原因&#xff1…...

Spring 中的 @Autowired 和 @Resource

&#x1f9e9; 一、Autowired 和 Resource 的基本作用 注解来源作用AutowiredSpring 提供&#xff08;org.springframework.beans.factory.annotation.Autowired&#xff09;按类型 自动注入ResourceJDK 提供&#xff08;javax.annotation.Resource&#xff09;默认按名称 注入…...

IAGCN:登上《Nature》的深度学习可解释性情感分析模型突破

IAGCN&#xff1a;登上《Nature》的深度学习可解释性情感分析模型突破 一、技术突破背景 社交媒体时代&#xff0c;用户生成内容的情感分析需求激增。传统方面级情感分析模型在复杂语境下存在特征交互捕捉不足、情感极性判定偏差等问题。微软亚洲研究院联合清华大学提出的交互…...

Go 学习笔记 · 进阶篇 · 第一天:接口与多态

&#x1f436;Go接口与多态&#xff1a;继承没了&#xff0c;但自由炸裂&#xff01; 最近翻 Go 的代码&#xff0c;突然看到这么一段&#xff1a; type Animal interface {Speak() string }我一愣&#xff0c;咦&#xff1f;这不就是 Java 里常见的“接口”吗&#xff1f; …...

模运算:数字世界中的时空扭曲法则——从密码学到量子计算的跨维演绎

一、模宇宙基本定理&#xff1a;重构数字时空的底层逻辑 1.1 同余关系的时空折叠效应 在模运算创造的离散时空中&#xff0c;数字呈现出环状拓扑结构。当我们在模7空间观察时&#xff0c;12与5通过时空折叠达成量子纠缠&#xff1a;12 ≡ 5 (mod 7)。这种性质使得RSA加密算法…...

0303hooks-react-仿低代码平台项目

文章目录 1. 副作用2.其他内置hooks2.1 useEffect2.2 useRef2.3useMemo2.4 useCallback 3.自定义hooks4. 第三方hooks5. hooks使用原则6. hooks闭包陷阱7. 总结结语 1. 副作用 当组件渲染完成时&#xff0c;加载一个Ajax网络请求当某个state更新时&#xff0c;加载一个Ajax网络…...

Batch Normalization:深度学习训练的加速引擎

引言 在深度学习的发展历程中&#xff0c;训练深度神经网络一直是一项极具挑战性的任务。随着网络层数的增加&#xff0c;梯度消失、梯度爆炸以及训练过程中的内部协变量偏移&#xff08;Internal Covariate Shift&#xff09;问题愈发严重&#xff0c;极大地影响了模型的收敛…...

nacos的地址应该配置在项目的哪个文件中

在 Spring Boot 和 Spring Cloud 的上下文中&#xff0c;​Nacos 的地址既可以配置在 bootstrap.yml 中&#xff0c;也可以配置在 application.yml 中&#xff0c;但具体取决于使用场景和需求。以下是两者的区别和最佳实践&#xff1a; ​1. bootstrap.yml vs application.yml …...

【数据集】 PBMC(Peripheral Blood Mononuclear Cells)数据集

&#x1f9ec; 一、PBMC 数据集简介 内容描述名称Peripheral Blood Mononuclear Cells&#xff08;外周血单个核细胞&#xff09;细胞类型包括 B 细胞、T 细胞、NK 细胞、单核细胞等技术平台通常由 10x Genomics 提供&#xff08;例如 3k、4k、6k、10k 版本&#xff09;数据类…...

3. go-zero中如何使用redis

问题 go-zero项目相关文档中redis是这样配置的&#xff1a; Name: account.rpc ListenOn: 0.0.0.0:8080 Etcd:Hosts:- 127.0.0.1:2379Key: account.rpcMysql:Host: xxxx:3306User: rootPass: xxxData: mall-userCharset: utf8mb4Cache: - Host: 192.168.145.10:6379Type: nod…...

Redis基础知识

Redis基础知识 一、Redis简介 1.1 什么是Redis&#xff1f; Redis是一个开源的、基于内存的数据结构存储系统&#xff0c;可以用作&#xff1a; 数据库缓存消息中间件分布式锁 1.2 Redis特点 高性能&#xff1a;基于内存操作支持多种数据结构支持数据持久化支持主从复制支…...

每日c/c++题 备战蓝桥杯(求解三个数的最大公约数与最小公倍数)

求解三个数的最大公约数与最小公倍数&#xff08;C/C实现&#xff09; 引言 在数学计算和编程问题中&#xff0c;求多个数的**最大公约数&#xff08;GCD&#xff09;和最小公倍数&#xff08;LCM&#xff09;**是常见需求。本文将探讨如何高效求解三个数的GCD和LCM&#xff…...

解决Win11耳机没有声音的问题

方法一&#xff1a;更新驱动程序&#xff08;有效&#xff09; 进入 “设置”&#xff08;快捷键&#xff1a;WinX&#xff09;&#xff0c;点击 “Windows 更新” → “高级选项” 点击 “可选更新” &#xff0c;然后点击 “驱动程序更新” 【注】&#xff1a;更新后可能会出…...

滤波电容的正负极线宽需要一致吗?

今天看到一个项目的滤波电容的正端采用铺铜处理增大过流能力&#xff0c;但是负极却仅仅打了两个地过孔&#xff0c;不仅产生疑问&#xff0c;这样做是否合理&#xff0c;滤波电容的正负极线宽需要一致吗&#xff1f; 搜寻资料的时候看到这样一个类似的问题&#xff1a; 这些人…...

使用 `pandas` 库来读取 Excel 文件,并实现六种算法的遍历计算

以下是一个满足你需求的 Python 程序示例。在这个示例中&#xff0c;我们假设已经有了处理数据的函数&#xff0c;并且生成的 Excel 文件中包含了观测数据和推算数据。我们将使用 pandas 库来读取 Excel 文件&#xff0c;并实现六种算法的遍历计算。 import pandas as pd# 模拟…...

【Linux】文件描述符访问Open、Read、Write

每个运行的程序被称为进程&#xff08;process&#xff09;&#xff0c;它有一些与之关联的文件描述符。我们可以通过这些文件描述符来访问打开的文件或者设备。 一、文件描述符 什么是文件描述符&#xff1f; 概念&#xff1a;文件描述符&#xff08;File Descriptor&#x…...

在 VS2022 中修复 Linux CMake 项目构建失败:从 Ninja 迁移到 Makefile

问题背景​​ 在使用 ​​Visual Studio 2022​​ 开发跨平台 C 项目时&#xff0c;许多开发者会选择通过 ​​WSL (Windows Subsystem for Linux)​​ 直接在本地调试 Linux 环境下的程序。然而&#xff0c;近期在配置一个 CMake 项目时&#xff0c;遇到了以下报错&#xff1…...

ctf-show-mics2

下载文件用zip解压&#xff0c;将文件修改为flp文件 新建虚拟机&#xff0c;把文件添加到软盘 再次打开虚拟机会显示flag flag&#xff1a;flag{ctfshow}...

STM32_USB

概述 本文是使用HAL库的USB驱动 因为官方cubeMX生成的hal库做组合设备时过于繁琐 所以这里使用某大神的插件,可以集成在cubeMX里自动生成组合设备 有小bug会覆盖生成文件里自己写的内容,所以生成一次后注意保存 插件安装 下载地址 https://github.com/alambe94/I-CUBE-USBD-Com…...

Java 基础-32-枚举-枚举的应用场景

在Java编程中&#xff0c;枚举&#xff08;Enum&#xff09;提供了一种强大的方式来定义一组固定的常量。它们不仅限于简单的用途&#xff0c;还可以包含构造函数、方法和字段等高级功能&#xff0c;使其适用于多种不同的应用场景。本文将探讨几种常见的使用枚举的场景&#xf…...

新潮透明液体水珠水滴失真故障扭曲折射特效海报字体标题设计ps样机动作素材 Bubble Photoshop Templates

只需单击几下即可创建引人注目的视觉效果&#xff01;您需要做的就是将您的文本或图像放入智能对象中并应用作。 包中包含&#xff1a; 15 个静态 Photoshop 模板&#xff08;PS 2019 及更高版本&#xff09; 01-05 垂直布局 &#xff08;22504000&#xff09;06-10 水平布局…...

学透Spring Boot — 017. 魔术师—Http消息转换器

本文是我的专栏《学透Spring Boot》的第17篇文章&#xff0c;了解更多请移步我的专栏&#xff1a; 学透 Spring Boot_postnull咖啡的博客-CSDN博客 目录 HTTP请求和响应 需求—新的Media Type 实现—新的Media Type 定义转换器 注册转换器 编写Controller 测试新的medi…...