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

python每日学习11:numpy库的用法(下)

python每日学习11:numpy库的用法(下)

  • 数组的拼接

    名方法称说明
    concatenate连接沿现有轴的数组序列
    hstack水平堆叠序列中的数组(列方向)
    vstack竖直堆叠序列中的数组(行方向)
    concatenate函数用于沿指定轴连接相同形状的两个或多个数组,格式:numpy.concatenate((a1, a2, …), axis)
    # 列表的拼接
    a=[1,2,3]
    b=[4,5,6]
    a.extend(b)
    # 一维数组的拼接
    x=np.arange(1,4)
    y=np.arange(4,7)
    print(np.concatenate([x,y]))
    # 二维数组的拼接
    a=np.array([[1,2,3],[4,5,6]])
    b=np.array([['a','b','c'],['d','e','f']])
    print(np.concatenate([a,b]))
    print(np.concatenate([a,b],axis=0))
    print(np.concatenate([a,b],axis=1))# hstack()、vstack()和dstack()的使用
    # numpy.hstack它通过水平堆叠来生成数组。
    # numpy.vstack 它通过垂直堆叠来生成数组
    # vstack 与hstack的使用
    a=np.arange(1,4)
    b=np.arange(4,7)
    print(np.vstack([a,b]))
    print(np.hstack([a,b]))
    # 三维数组的拼接
    # axis=0可以使用vstack替换
    # axis=1可以使用hstack替换
    # axis=2可以使用dstack替换
    aa=np.arange(1,37).reshape(3,4,3)
    bb=np.arange(101,137).reshape(3,4,3)
    print(np.concatenate((aa,bb),axis=0))#6 4 3
    print(np.concatenate((aa,bb),axis=1)) #3  8  3
    print(np.concatenate((aa,bb),axis=2))#3 4 6
    
  • 数组的转置

    # 数组的转置:将行与列对调,即第一行变成第一列…或第一列变成第一行…的操作即使转置操作。
    # transpose进行转换
    a=np.arange(1,13).reshape(2,6)
    print(a)
    print(a.transpose())
    print(a.T)
    
  • 数组的分隔

    # numpy.split 函数沿特定的轴将数组分割为子数组,格式如下:numpy.split(ary, indices_or_sections, axis)
    # split分隔
    x=np.arange(1,9)
    a=np.split(x,4)
    print(a)
    print(a[0])
    print(a[1])
    print(a[2])
    print(a[3])
    #传递数组进行分隔
    b=np.split(x,[3,5])#左开右闭
    print(b)
    # 水平分隔:使用hsplit函数可以水平分隔数组,该函数有两个参数,第1个参数表示待分隔的数组,第2个参数表示要将数组水平分隔成几个小数组
    # hsplit的使用
    grid=np.arange(16).reshape(4,4)
    a,b=np.hsplit(grid,2)
    print(a)
    print(b)
    # 垂直分隔:使用vsplit函数可以垂直分隔数组,该函数有两个参数,第1个参数表示待分隔的数组,第2个参数表示将数组垂直分隔成几个小数组。
    # vsplit的使用
    grid=np.arange(16).reshape(4,4)
    a,b=np.vsplit(grid,2)#行分成 0+1  2+3
    a,b,c=np.vsplit(grid,[1,3])#行分成 0 1+2 3
    
  • 数学函数

    方法说明
    np.abs()、np.fabs()计算整数、浮点数的绝对值
    np.sqrt()计算各元素的平方根
    np.reciprocal()计算各元素的倒数
    np.square()计算各元素的平方
    np.exp()计算各元素的指数ex
    np.log() np.log10() np.log2()计算各元素的自然对数、底数为10的对数、底数为2的对数
    np.sign()计算各元素的符号,1(整数)、0(零)、-1(负数)
    np.ceil() np.floor() np.rint()对各元素分别向上取整、向下取整、四舍五入
    np.modf()将各元素的小数部分和整数部分以两个独立的数组返回
    np.cos() 、np.sin()、np.tan(对各元素求对应的三角函数
    np.add()、np.subtract()、np.multiply()、np.divide()对两个数组的各元素执行加法、减法、乘法、除法求每个元素的倒数
    a=[3,4,5,6,7,8]
    b=np.array(a)
    print(1/b)
    # reciprocal()函数的使用
    a=np.arange(1,10,dtype=np.float32).reshape(3,3)
    print(np.reciprocal(a))
    # square()函数的使用
    # 一维数组
    a=np.arange(1,10)
    print(np.square(a))
    #二维数组
    aa=np.arange(1,13).reshape(3,4)
    print(np.square(aa))
    # sign()函数的使用
    a=np.arange(-5,5)
    print(np.sign(a))#计算各元素的符号,1(整数)、0(零)、-1(负数)
    # modf()函数的使用
    b=np.arange(-5,5,0.4)
    print(np.modf(b))
    # 三角函数的使用:NumPy 提供了标准的三角函数:sin()、cos()、tan()。
    x=np.linspace(1,10,5)
    y=np.sin(x)
    print(y)
    # numpy.around(a,decimals) 函数返回指定数字的四舍五入值
    # decimals: 舍入的小数位数。 默认值为0。 如果为负,整数将四舍五入到小数点左侧的位置
    # numpy.floor() 返回数字的下舍整数。
    # numpy.ceil() 返回数字的上入整数。
    a=np.array([1.0,4.55,123,0.657,25.323])
    print(np.around(a))
    print(np.around(a, decimals=1))
    print(np.around(a, decimals=-1))
    print(np.rint(a))
    print(np.floor(a))
    print(np.ceil(a))
    
  • 算术函数

    # 算术函数:如果参与运算的两个对象 都是ndarray,并且形状相同,那么会对位彼此之间进行(+ - * /)运算。NumPy 算术函数包含简单的加减乘除: add(),subtract(),multiply() 和 divide()。
    # 算术函数的使用
    a=np.arange(9,dtype=np.float32).reshape(3,3)
    b=np.array([10,10,10])
    print(np.add(a,b))
    print(np.subtract(a,b))
    print(np.multiply(a, b))
    print(np.divide(a, b))
    # 算术函数中out参数的使用
    x=np.arange(5)
    y=np.empty_like(x)
    np.multiply(x,10,out=y)
    print(y)
    # mod()函数的使用
    # numpy.mod() 计算输入数组中相应元素的相除后的余数。函数
    # numpy.remainder() 也产生相同的结果。
    a=np.array([10,10,30])
    b=np.array([3,5,7])
    print(np.mod(a, b))
    print(np.remainder(a, b))
    
  • 统计函数

    方法说明
    np.sum()求和
    np.prod()所有元素相乘
    np.mean()平均值
    np.std()标准差
    np.var()方差
    np.median(中数
    np.power()幂运算
    np.sqrt()开方
    np.min()最小值
    np.max()最大值
    np.argmin()最小值的下标
    np.argmax()最大值的下标
    np.cumsum()对数组中元素累积求和,可指定轴
    np.cumprod()对数组中元素累积求积,可指定轴
    np.ptp()计算一组数中最大值与最小值的差,可指定轴
    np.unique()删除数组中的重复数据,并对数据进行排序
    np.nonzero()返回数组中非零元素的索引
    power()函数的使用
    x=np.arange(1,5)
    y=np.empty_like(x)
    np.power(x,2,out=y)
    print(y)
    # median ()函数的使用
    a=np.array([4,2,1,5])
    print(np.median(a))#计算偶数个的中位数
    a=np.array([4,2,5])
    print(np.median(a))#奇数个的中位数
    a=np.arange(1,16).reshape(3,5)
    print(np.median(a))
    print(np.median(a,axis=0))#中间行
    print(np.median(a,axis=1))#中间列
    #mean函数的使用
    a=np.arange(1,11).reshape(2,5)
    print(np.mean(a))
    print(np.mean(a,axis=0))
    print(np.mean(a,axis=1))
    # 函数的使用
    a = np.random.randint(10,50,size=20)
    np.max(a)
    np.sum(a)
    np.min(a)
    np.max(a)
    np.ptp(a)
    np.unique(a)
    np.nonzero(a)
    
  • 其他常用函数

    方法说明
    np.tile()将数组的数据按照行列复制扩展
    np.repeat()将数组中的每个元素重复若干次
    roll()沿指定轴对数组元素进行移位
    resize()重新调整数组的大小
    place()/put()将数组中满足条件的元素/指定的元素替换为指定的值
    np.savetxt()将数据保存到txt文件中
    np.loadtxt()从文件中加载数据
    np.genfromtxt()根据文件内容中生成数据,可以指定缺失值的处理等
    np.any()如果数组中存在一个为True的元素(或者能转为True的元素),则返回
    np.all()True如果数组中所有元素都为True(或者能转为True的元素),则返回True
    np.where(条件,x,y)如果条件为True,对应值为x,否则对应值为y
    np.dot()将矩阵相乘
    np.sort()对数组进行排序,返回一个新的排好序的数组,原数组不变
    np.sort()返回的是数组值从小到大排序后元素对应的索引值
    # tile()和repeat()函数的使用
    a=np.arange(4)
    np.tile(a,2)##复制2次
    np.tile(a,(3,2))#行列复制
    print(np.repeat(a, 2))
    a=np.arange(1,13).reshape(3,4)
    np.repeat(a,2)
    print(np.repeat(a, 2, axis=0))
    print(np.repeat(a, 2, axis=1))
    # roll()函数的使用
    b=np.arange(12)
    print(np.roll(b, 3))#一维数组,向后调3个
    print(np.roll(b, -1))#向前调2个
    aa=np.arange(1,13).reshape(3,4)
    print(np.roll(aa, 2))
    print(np.roll(aa, 2, axis=0))
    # resize()函数的使用
    aa.reshape(4,3)#修改维度,元素个数必须相同
    np.resize(aa,(5,6)) #resize重新调整数组的大小,元素个数可以不相同
    # replace()和put()函数的使用
    aa=np.random.randint(40,100,(3,4))
    np.place(aa,aa<60,0)##小于60分的 全部替换为0
    aa=np.arange(1,13).reshape((3,4))
    np.put(aa,2,100)#put()指定的索引处的元素替换为指定的值
    # savetxt()和loadtxt()函数的使用
    a=np.random.randint(-50,100,1000)
    #保存
    np.savetxt('savetxt.txt',a,fmt='%d')
    #加载
    b=np.loadtxt('savetxt.txt',dtype=int)
    # any()、all()函数的使用
    x=np.array([False,True,False,1,0,True])
    np.any(x)#any函数 只要有一个元素为True,则结果返回True
    np.all(x)#all函数 只有所有元素都为True,则结果返回True
    # where()函数的使用
    np.random.seed()
    a=np.random.randint(20,100,10)
    print(a)
    print(np.where(a>50,True,False))
    # dot函数的使用
    x=np.array([[1,2],[3,4]])
    y=np.array([[2,3],[1,2]])
    x.dot(y)#dot函数 矩阵相乘  矩阵相乘前提是,第一个矩阵的列数和第二个矩阵的行数要相同
    x.dot(3) #每个元素与3相乘
    
  • 数组排序

    # 数组排序:排序中主要用到的方法是np.sort和np.argsort。其中np.sort()是对数组直接排序。而np.argsort()是返回排序后的原始索引。
    # 一维数组排序
    a=np.array([5,2,4,5,7,3,8])
    print(np.sort(a))
    print(np.argsort(a))#np.argsort()是返回排序后的原始索引。
    # 二维数组排序
    np.random.seed(44)
    a=np.random.randint(100,size=(4,6))
    print(np.sort(a))
    print(np.sort(a,axis=0))#上行比下行小
    print(np.sort(a,axis=1))#左列比右列小
    # 按最后一列进行排序
    b=a[:-1]
    print(b)#可以先获取最后一列的数组
    index=np.argsort(b)#获取最后一列数组排序后的原始索引
    
  • numpy广播机制

    # 广播的规则
    # 1,如果两个数组维度个数不同,那么小维度的数组形状会在左边补1
    # 2,如果两个数组形状在任何一个维度上都不匹配,数组的形状会沿着维度为1的维度扩展到匹配上另一个数组的形状
    # 3,如果没有维度形状为1,则会引发异常两个数组相加
    #  0 1 2    0 0 0
    #  0 1 2    1 1 1
    #  0 1 2    2 2 2
    a=np.array([0,1,2])
    print(a+5)
    b=np.array([2,2,2])
    print(a+b)
    # 维度不相同的数组相加
    a=np.arange(3)
    b=np.arange(3).reshape(3,1)
    print(a+b)
    
  • 比较掩码

    # 比较掩码:比较操作,会返回与参与运算数组形状相同的数组,其中,满足条件的为True,不满足的为False
    # 数组的比较操作
    a=np.array([[1,2,39],[34,45,67]])#传入的数组,需要和a形状一致,且类型为Bool类型,这个叫做掩码式索引
    print(a<50)
    # 掩码式索引取值,过滤掉不符合条件的
    print(a[np.array([[True,True,True],[True,True,False]])])
    print(a[a<50])
    

相关文章:

python每日学习11:numpy库的用法(下)

python每日学习11&#xff1a;numpy库的用法(下) 数组的拼接 名方法称说明concatenate连接沿现有轴的数组序列hstack水平堆叠序列中的数组&#xff08;列方向&#xff09;vstack竖直堆叠序列中的数组&#xff08;行方向&#xff09;concatenate函数用于沿指定轴连接相同形状的两…...

【Emacs有什么优点,用Emacs写程序真的比IDE更方便吗?】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…...

6、基于Fabirc 2.X 通用电子存证系统部署

evidence 将GOPATH设置为/root/go,拉取项目&#xff1a; cd $GOPATH/src && git clone https://gitee.com/henan-minghua_0/evidence.git 在/etc/hosts中添加&#xff1a; 127.0.0.1 orderer.example.com 127.0.0.1 peer0.org1.example.com 127.0.0.1 peer1.org…...

Linux Vim 由浅入深的教程

引言 原文链接 Vim是Linux系统中非常强大的文本编辑器&#xff0c;因其强大的功能和灵活的操作而受到广泛使用。尤其是在服务器管理和开发环境中&#xff0c;Vim几乎是必备工具。本教程将以CentOS 7为例&#xff0c;详细讲解Vim的安装、基本操作以及一些高级技巧&#xff0c;…...

MIT6.824(6.5840) Lab1笔记+源码

文章目录 其他人的内容&#xff0c;笔记写的更好&#xff0c;思路可以去看他们的MapReduceworkermapreduce coordinatorrpc纠错 源码worker.gocoordinator.gorpc.go 原本有可借鉴的部分 mrsequential.go&#xff0c;多看几遍源码 其他人的内容&#xff0c;笔记写的更好&#xf…...

【目录】8051汇编与C语言系列教程

8051汇编与C语言系列教程 作者将狼才鲸创建日期2024-07-23 CSDN文章地址&#xff1a;【目录】8051汇编与C语言系列教程本Gitee仓库原始地址&#xff1a;才鲸嵌入式/8051_c51_单片机从汇编到C_从Boot到应用实践教程 一、本教程目录 序号教程名称简述教程链接1点亮LCD灯通过IO…...

群管机器人官网源码

一款非常好看的群管机器人html官网源码 搭建教程&#xff1a; 域名解析绑定 源码文件上传解压 访问域名即可 演示图片&#xff1a; 群管机器人官网源码下载&#xff1a;客户端下载 - 红客网络编程与渗透技术 原文链接&#xff1a; 群管机器人官网源码...

整合EasyExcel实现灵活的导入导出java

引入pom依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId></dependency>实现功能 结合Vue前端&#xff0c;实现浏览器页面直接导出日志文件实现文件的灵活导入文件导出 3. 实体类 实体类里有自定义转…...

springSecurity学习之springSecurity web如何取得用户信息

web如何取得用户信息 之前说过SecurityContextHolder默认使用的是ThreadLocal来进行存储的&#xff0c;而且每次都会清除&#xff0c;但是web每次请求都会验证用户权限&#xff0c;这是如何做到的呢&#xff1f; 这是通过SecurityContextPersistenceFilter来实现的&#xff0…...

eclipse中的classbean导入外部class文件,clean项目后删除问题

最近被eclipse搞得头疼&#xff0c;下午终于解决 eclipse创建的java项目中&#xff0c;类的输出目录是classbean。由于项目需要&#xff0c;classbean目录下已经导入了外部的类&#xff0c;但每次clean项目时&#xff0c;会把class删掉。 广泛查询&#xff0c;eclipse不清空c…...

OBD诊断(ISO15031) 0A服务

文章目录 功能简介ISO 15765-4的诊断服务定义1、请求具有永久状态的排放相关故障诊断码2、请求具有永久状态的排放相关故障诊断码3、示例报文 功能简介 0A服务&#xff0c;即 Request emission-related diagnostic trouble code with permanent status&#xff08;请求排放相关…...

ForCloud全栈安全体验,一站式云安全托管试用 开启全能高效攻防

对于正处于业务快速发展阶段的企业&#xff0c;特别是大型央国企而言&#xff0c;日常的安全部署和运营管理往往横跨多家子公司&#xff0c;所面临的挑战不言而喻。尤其是在面对当前常态化的大型攻防演练任务时&#xff0c;难度更是呈“几何级数”上升&#xff1a; 合规难 众…...

Java——————接口(interface) <详解>

1.1 接口的概念 在现实生活中&#xff0c;接口的例子比比皆是&#xff0c;比如&#xff1a;笔记本电脑上的USB接口&#xff0c;电源插座等。 电脑的USB口上&#xff0c;可以插&#xff1a;U盘、鼠标、键盘...所有符合USB协议的设备 电源插座插孔上&#xff0c;可以插&#xff…...

【C++】【继承】【子对象】【构造函数】含子对象的派生类的构造函数写法

&#xff08;1&#xff09;子对象的概念&#xff1a;若派生类A1的数据成员中包含基类A的对象a&#xff0c;则a为派生类A1的子对象 &#xff08;2&#xff09;含子对象的派生类的构造函数的执行顺序是&#xff1a; ①调用基类构造函数&#xff0c;对基类数据成员初始化 ②调用子…...

golang语言 .go文件版本条件编译,xxx.go文件指定go的编译版本必须大于等于xxx才生效的方法, 同一个项目多个go版本文件共存方法

在go语言中&#xff0c;我们不关是可以在编译时指定版本&#xff0c; 在我们的xxx.go文件中也可以指定go的运行版本&#xff0c;即 忽略go.mod中的版本&#xff0c;而是当当前的go运行版本达到指定条件后才生效的xxx.go文件。 方法如下&#xff1a; 我们通过在xxx.go文件的头部…...

深入浅出mediasoup—通信框架

libuv 是一个跨平台的异步事件驱动库&#xff0c;用于构建高性能和可扩展的网络应用程序。mediasoup 基于 libuv 构建了包括管道、信号和 socket 在内的一整套通信框架&#xff0c;具有单线程、事件驱动和异步的典型特征&#xff0c;是构建高性能 WebRTC 流媒体服务器的重要基础…...

每日一题 LeetCode03 无重复字符的最长字串

1.题目描述 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的最长字串的长度。 2 思路 可以用两个指针, 滑动窗口的思想来做这道题,即定义两个指针.一个left和一个right 并且用一个set容器,一个length , 一个maxlength来记录, 让right往右走,并且用一个set容器来…...

栈和队列(C语言)

栈的定义 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈&#xff1a;…...

swagger-ui.html报错404

问题1&#xff1a;权限受限无法访问 由于采用的Shiro安全框架&#xff0c;需要在配置类ShiroConfig下的Shiro 的过滤器链放行该页面&#xff1a;【添加&#xff1a;filterChainDefinitionMap.put("/swagger-ui.html", "anon");】 public ShiroFilterFact…...

Milvus 核心组件(3)--- MinIO详解

目录 背景 MinIO 安装 docker desktop 安装 Ubuntu UI 在 docker 中的安装 Minio 下载及安装 启动minio docker image 保存 启动 minio web 网页 下一次启动 MinIO基本概念 基本概述 主要特性 应用场景 MinIO 使用 连接server 创建bucket 查询bucket 上传文件…...

[数据集][目标检测]婴儿车检测数据集VOC+YOLO格式1073张5类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1073 标注数量(xml文件个数)&#xff1a;1073 标注数量(txt文件个数)&#xff1a;1073 标注…...

JAVASE进阶day14(网络编程续TCP,日志)

TCP 三次握手 四次挥手 package com.lu.day14.tcp;import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket;public class Client {public static void main(String[] args) {try(Socket socket new Socket("192.…...

机器学习(五) -- 无监督学习(1) --聚类1

系列文章目录及链接 上篇&#xff1a;机器学习&#xff08;五&#xff09; -- 监督学习&#xff08;7&#xff09; --SVM2 下篇&#xff1a;机器学习&#xff08;五&#xff09; -- 无监督学习&#xff08;1&#xff09; --聚类2 前言 tips&#xff1a;标题前有“***”的内容…...

leetcode 116. 填充每个节点的下一个右侧节点指针

leetcode 116. 填充每个节点的下一个右侧节点指针 题目 给定一个 完美二叉树 &#xff0c;其所有叶子节点都在同一层&#xff0c;每个父节点都有两个子节点。二叉树定义如下&#xff1a; struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next …...

[C++]优先级队列

1 .了解优先级队列 优先级队列是一种容器适配器&#xff0c;根据一些严格的弱排序标准&#xff0c;专门设计使其第一个元素始终是它所包含的元素中最大的元素。 此上下文类似于堆&#xff0c;其中可以随时插入元素&#xff0c;并且只能检索最大堆元素&#xff08;优先级队列中顶…...

学习大数据DAY22 Linux 基 本 指 令 3与 在 Linux 系 统 中 配 置MySQL 和 Oracle

目录 网络配置类 ps 显示系统执行的进程 kill systemctl 服务管理 配置静态 ip 常见错误---虚拟机重启网卡失败或者网卡丢失 mysql 操作 上机练习 6---安装 mysql---参考《mysql 安装》文档 解锁 scott 重启后的步骤 上机练习 7---安装 oracle---参考《oracle 安装》…...

scp 服务器复制命令

步骤如下&#xff1a; 终端执行如下命令 #ssh-keygen -t rsa 2. 密钥生成后会在 /root/.ssh/ 文件夹下产生两个文件 id_rsa id_rsa.pub 将 id_rsa.pub 文件复制到 152.136.121.24 执行如下命令 scp /root/.ssh/id_rsa.pub root152.136.121.24:/root/.ssh/authorized_keys…...

PyQt5学习路线

后续会根据该文章的路线逐步发布对应的教程&#xff0c;订阅专栏不迷路&#x1f970; 本专栏纯干货&#x1f929; 学习Python的PyQt5库&#xff0c;可以遵循以下的学习路线&#xff1a; 1. Python基础 掌握Python语法&#xff1a;确保你熟悉Python的基本语法&#xff0c;包括…...

2024论文精读:利用大语言模型(GPT)增强上下文学习去做关系抽取任务

文章目录 1. 前置知识2. 文章通过什么来引出他要解决的问题3. 作者通过什么提出RE任务存在上面所提出的那几个问题3.1 问题一&#xff1a;ICL检索到的**示范**中实体个关系的相关性很低。3.2 问题二&#xff1a;示范中缺乏解释输入-标签映射导致ICL效果不佳。 4. 作者为了解决上…...

WEB 手柄 http通信,mcu端解析代码 2024/7/23 日志

WEB 手柄 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>WEB遥控器</title> </head> &l…...

cmake中的正则表达式

以下字符或者字符组合在cmake的正则表达式中的特殊含义&#xff1a; ^ 匹配输入的开始 $ 匹配输入的结束 . 匹配任意一个字符 \<char> 匹配一个字符&#xff0c;如.匹配字符.&#xff0c;\匹配字符\&#xff0c;\a匹配字符a [ ] 匹配在括号里面的任意字符&#xff0…...

05. Java 三大范式

1. 前言 在面向对象语言中涉及到诸多的设计模式&#xff0c;例如单例模式、适配器模式&#xff0c;设计模式的存在是为了让系统中的代码逻辑更加清晰&#xff0c;帮助开发者建立更加健壮的系统&#xff0c;同时满足易修改特性和易扩展特性。数据库设计时也存在类似设计模式的通…...

opencv 按键开启连续截图,并加载提示图片

背景图小图 键盘监听使用的是pynput 库 保存图片时使用了年月日时分秒命名 原图&#xff1a; from pynput import keyboard import cv2 import time# 键盘监听 def on_press(key):global jieglobal guanif key.char a:jie Trueelif key.char d:jie Falseelif key.char…...

Android-- 集成谷歌地图

引言 项目需求需要在谷歌地图&#xff1a; 地图展示&#xff0c;设备点聚合&#xff0c;设备站点&#xff0c;绘制点和区域等功能。 我只针对我涉及到的技术做一下总结&#xff0c;希望能帮到开始接触谷歌地图的伙伴们。 集成步骤 1、在项目的modle的build.gradle中添加依赖如…...

Jvm是如何处理异常的

异常抛出 当Java程序运行时遇到无法处理的情况时,会抛出一个异常(比如在一个方法中如果发生异常),这时会创建一个异常对象,并转交给JVM,该异常对象包含异常名称,异常描述以及异常发生时应用程序的状态。创建异常对象并转交给JVM的过程称为抛出异常。 异常捕捉 当JVM检测…...

recursion depth exceeded” error

有些时候不可以用jax.jit装饰器 参考资料&#xff1a;使用 JAX 后端在 Keras 3 中训练 GAN |由 Khawaja Abaid |中等 (medium.com)...

虚拟现实和增强现实技术系列—Expressive Talking Avatars

文章目录 1. 概述2. 背景介绍3. 数据集3.1 设计标准3.2 数据采集 4. 方法4.1 概述4.2 架构4.3 目标函数 5. 实验评测5.1 用户研究5.2 我们方法的结果5.3 比较与消融研究 1. 概述 支持远程协作者之间的交互和沟通。然而&#xff0c;明确的表达是出了名的难以创建&#xff0c;主…...

网站验证:确保网络安全与信任的重要步骤

网站验证&#xff1a;确保网络安全与信任的重要步骤 引言 在数字时代&#xff0c;网站验证是确保网络安全和建立用户信任的关键措施。随着网络诈骗和恶意软件的日益增多&#xff0c;验证网站的真实性和安全性变得尤为重要。本文将探讨网站验证的重要性、常见的验证方法以及如…...

C语言——字符串比较函数strcmp和strncmp

目录 strcmp 函数原型如下&#xff1a; 示例 注意事项 strcmp自实现代码&#xff1a; strncmp 函数 函数原型&#xff1a; 参数&#xff1a; 返回值&#xff1a; 特点&#xff1a; 两者之间的区别和联系 strcmp strcmp 是 C 语言标准库中的一个函数&#xff0c;用于…...

redis的集群模式

目录 1. 为什么使用redis集群 2. 主从模式 2.1修改配置文件 2.2 开启三台redis服务 2.3配置主从关系 3. 哨兵模式 3.1 监控功能 3.2 选举的机制 3.3 准备条件 4. 去中心化模式 4.1 准备三主三从 4.2 启动redis 4.3 分配槽以及主从关系 4.4 命令行的客户端 redis提供…...

基于微信小程序+SpringBoot+Vue的青少年科普教学系统平台(带1w+文档)

基于微信小程序SpringBootVue的青少年科普教学系统平台(带1w文档) 基于微信小程序SpringBootVue的青少年科普教学系统平台(带1w文档) 这个工具就是解决上述问题的最好的解决方案。它不仅可以实时完成信息处理&#xff0c;还缩短高校教师成果信息管理流程&#xff0c;使其系统化…...

智能听觉:从任务特定的机器学习到基础模型

关键词&#xff1a;计算机听觉、音频基础模型、多模态学习、声音事件检测 声音无处不在&#xff0c;弥漫于我们生活的每一个角落。鸟儿向伴侣倾诉心意的歌声&#xff0c;浓缩咖啡机中蒸汽的嘶嘶作响&#xff0c;午后阳光下昆虫振翅的嗡嗡声&#xff0c;金属屋顶上雨滴跳跃的滴答…...

14、如何⽤DDD设计微服务代码模型

在完成领域模型设计后&#xff0c;接下来我们就可以开始微服务的设计和 落地了。在微服务落地前&#xff0c;⾸先要确定微服务的代码结构&#xff0c;也就是我 下⾯要讲的微服务代码模型。 只有建⽴了标准的微服务代码模型和代码规范后&#xff0c;我们才可以将 领域对象映射到…...

ArcGIS Pro SDK (九)几何 12 多面体

ArcGIS Pro SDK &#xff08;九&#xff09;几何 12 多面体 文章目录 ArcGIS Pro SDK &#xff08;九&#xff09;几何 12 多面体1 通过拉伸多边形或折线构建多面体2 多面体属性3 构建多面体4 通过MultipatchBuilderEx构建多面体5 从另一个多面体构建多面体6 从 3D 模型文件构建…...

二次元手游《交错战线》游戏拆解

交错战线游戏拆解案 游戏亮点即核心趣味 一、关键词&#xff1a; 回合制游戏、二次元、机甲、横板、剧情、养成、异星探索。 二、游戏亮点&#xff1a; 符合目标群体审美的原画。 三、核心趣味&#xff1a; 抽卡、肝或者氪金解锁新皮肤。 核心玩法及系统规则 核心玩法&…...

【BUG】已解决:Downgrade the protobuf package to 3.20.x or lower.

Downgrade the protobuf package to 3.20.x or lower. 目录 Downgrade the protobuf package to 3.20.x or lower. 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身…...

Java开发之Redis

1、非关系型数据库、快、高并发、功能强大 2、为什么快&#xff1f;内存单线程 非阻塞的IO多路复用有效的数据类型/结构 3、应用&#xff1a;支持缓存、支持事务、持久化、发布订阅模型、Lua脚本 4、数据类型&#xff1a; 5 种基础数据类型&#xff1a;String&#xff08;字…...

Java面试八股之 Spring Bean的生命周期

Spring Bean的生命周期 实例化&#xff08;Instantiation&#xff09;&#xff1a;Spring容器根据Bean定义信息创建Bean的实例&#xff0c;通常通过无参构造函数进行。 依赖注入&#xff08;Dependency Injection&#xff0c;DI&#xff09;&#xff1a;Spring容器按照Bean定…...

SQL中的函数

目录 前言 一、系统内置函数 1、数学函数 2、日期和时间函数 3、聚合函数 4、字符串函数 二、自定义函数 1、标量函数的创建与调用 2、内嵌表值函数的创建与调用 3、多语句表值函数的创建与调用 前言 函数是由一个或多个 T-SQL 语句组成的子程序&#xff0c;可用于封…...

VSCode | 修改编辑器注释的颜色

1 打开VsCode的设置进入settings.json 2 添加如下代码 "editor.tokenColorCustomizations": {"comments": "#17e917"},3 保存即可生效...