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

Python入门【动态添加属性和方法、正则表达式概述、match函数的使用、常用匹配符、限定符 、限定符使用示例】(二十九)

👏作者简介:大家好,我是爱敲代码的小王,CSDN博客博主,Python小白
📕系列专栏:python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发
📧如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦
🍂博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人

🔥🔥🔥 python入门到实战专栏:从入门到实战 

🔥🔥🔥 Python爬虫开发专栏:从入门到实战

🔥🔥🔥 Python办公自动化专栏:从入门到实战

🔥🔥🔥 Python数据分析专栏:从入门到实战

🔥🔥🔥 Python前后端开发专栏:从入门到实战

目录

动态添加属性和方法

__slots__ 的作用

正则表达式概述

match函数的使用

正则表达式修饰符

常用匹配符

限定符 

限定符使用示例


 

动态添加属性和方法

动态编程语言是高级程序设计语言的一个类别,在计算机科学领域 已被广泛应用。

它是指在运行时可以改变其结构的语言 :例如新的函数、 对象、甚至代码可以被引进, 已有的函数可以被删除或是其他结构上的变化。 

运行过程中给对象、类添加属性和方法

#coding=utf-8
import types
class Person():def __init__(self,namexiao,agetong):self.namexiao= namexiaoself.agetong= agetong
p1 = Person("zhangsan",20)
p2 = Person("lisi",30)
#动态给对象添加属性和方法
p1.score = 100
print(p1.score)
def run(self):print(f"{self.namexiao},running...")#动态的对象添加方法
p1.run = types.MethodType(run,p1)
p1.run()

types.MethonType的使用

p1.run = types.MethodType(run,p1)
# 即使换成
xxx = types.MethodType(run,p1)
# xxx()调用一样还用
# 因为之前提示缺少参数,主要是不知道self到底是谁,
# 而types.MethodType(run,p1)则是告诉解释器,self指的就是p1

给类动态添加静态方法以及类方法

@staticmethod
def staticfunc():print("---static method---")
Person.staticfunc = staticfunc
Person.staticfunc()
@classmethod
def clsfunc(cls):print('---cls method---')
Person.clsfunc = clsfunc
Person.clsfunc()

__slots__ 的作用

1、 __slots__ 对动态添加成员变量、成员方法有限制。对动态添加类属性、类方法没有限制。

2、 __slots__ 只对本类有限制,不限制子类

class Person():__slots__ = {"namexiao","agetong"}def __init__(self,namexiao,agetong):self.namexiao= namexiaoself.agetong= agetongdef eat(self):print("人是铁饭是钢,要吃!")
if __name__ == '__main__':p1 = Person("wang",18)
#   p1.gender = "man" #AttributeError: 'Person' object has no attribute 'gender'

正则表达式概述

概念 

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑 (可以用来做检索,截取或者替换操作)。

 作用

1、给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”)。

2、可以通过正则表达式,从字符串中获取我们想要的特定部分。

3、还可以对目标字符串进行替换操作。

基本函数 

Python语言通过标准库中的re模块支持正则表达式。re模块提供了一些根据正则表达式进行查找、替换、分隔字符串的函数, 这些函数使用一个正则表达式作为第一个参数。

函数描述
match(pattern,string,flags=0)根据pattern从string的头部开始匹配字符串,只返回第1次匹配成功的对象;否则,返回None
findall(pattern,string,flags=0)根据pattern在string中匹配字符串。如果匹配成功, 返回包含匹配结果的列表;否则,返回空列表。当 pattern中有分组时,返回包含多个元组的列表,每个元组对应1个分组。flags表示规则选项,规则选项用于辅助匹配。
sub(pattern,repl,string,count=0)根据指定的正则表达式,替换源字符串中的子串。 pattern是一个正则表达式,repl是用于替换的字符串,string是源字符串。如果count等于0,则返回 string中匹配的所有结果;如果count大于0,则返回 前count个匹配结果
subn(pattern,repl,string,count=0)作用和sub()相同,返回一个二元的元组。第1个元素是替换结果,第2个元素是替换的次数
search(pattern,string,flags=0)根据pattern在string中匹配字符串,只返回第1次匹配成功的对象。如果匹配失败,返回None
compile(pattern,flags=0)编译正则表达式pattern,返回1个pattern的对象
split(pattern,string,maxsplit=0)根据pattern分隔string,maxsplit表示最大的分隔数
escape(pattern)匹配字符串中的特殊字符,如*、+、?

match函数的使用

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None。语法格式如下:

re.match(pattern, string, flags=0)
参数描述
pattern匹配的正则表达式
string要匹配的字符串。
flags标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。如下表列出正则表达式修饰符 - 可选标志

正则表达式修饰符

修饰符描述
re.I使匹配对大小写不敏感
re.L做本地化识别(locale-aware)匹配
re.M多行匹配,影响 ^ 和 $
re.S使 . 匹配包括换行在内的所有字符
re.U根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.
re.X该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。

意义: 

1、re.match是用来进行正则匹配检查的方法,如果字符串开头的0个或多个字符匹配正则表达式 模式,则返回相应的match对象。如果字符串不匹配模式,返回None(注意不是空字符串"")

2、匹配对象Match Object具有group()方法, 用来返回字符串的匹配部分,具有span()方法。返回 匹配字符串的位置(元组存储开始,结束位置),具有start(),end()方法,存储匹配数据的开始和结束位置。(也可以通过对象的dir(对象查看对象的方法))

注意: 如果想在目标字符串的任意位置查找,需要使用search 

【示例】match方法的使用 

import re
xiaos='hello python'
patterntong='hello'
v=re.match(patterntong,xiaos)
print(v)
print(v.group())
print(v.span())

【示例】match方法中flag可选标志的使用

import re
xiaos = 'hello Python!'
tongm=re.match('hello python',xiaos ,re.I)  #忽略大小写
if tongm is not None:print('匹配成功结果是:',tongm .group())
else:print('匹配失败')

常用匹配符

一个正则表达式是由字母、数字和特殊字符(括号、星号、问号等)组成。正则表达式中有许多特殊的字符,这些特殊字符是构成正则表达式的要素。 

【示例】常用匹配符.的使用

import re
pattern='.' #匹配任意一个字符(除了\n)
sxiao='a'
print('匹配字符a:',re.match(pattern,sxiao))
sxiao='C'
print('匹配字符C:',re.match(pattern,sxiao))
sxiao='_'
print('匹配字符_:',re.match(pattern,sxiao))
sxiao='\n'
print('匹配字符\\n:',re.match(pattern,sxiao))

 【示例】常用匹配符\d的使用

import re
pattern='\d'  #匹配数字,即0-9
sxiao='9'
print('匹配数字9:',re.match(pattern,sxiao))
sxiao='4'
print('匹配数字4:',re.match(pattern,sxiao))
sxiao='a'
print('匹配字符a:',re.match(pattern,sxiao))
sxiao='_'
print('匹配字符_:',re.match(pattern,sxiao))

【示例】常用匹配符\D的使用

import re
pattern='\D' #匹配非数字的字符
sxiao='9'
print('匹配数字9:',re.match(pattern,sxiao))
sxiao='4'
print('匹配数字4:',re.match(pattern,sxiao))
sxiao='a'
print('匹配字符a:',re.match(pattern,sxiao))
sxiao='_'
print('匹配数字_:',re.match(pattern,sxiao))

【示例】常用匹配符\s的使用

import re
pattern='\s' #匹配空白字符,即空格(\n,\t)
sxiao=' '
print('匹配字符' ':',re.match(pattern,sxiao))
sxiao='\t'
print('匹配字符\\t:',re.match(pattern,sxiao))
sxiao='\n'
print('匹配字符\\n:',re.match(pattern,sxiao))
sxiao='_'
print('匹配字符_:',re.match(pattern,sxiao))

【示例】常用匹配符\S的使用

import re
pattern='\S' #匹配不是空白的字符
sxiao=' '
print('匹配字符' ':',re.match(pattern,sxiao))
sxiao='\t'
print('匹配字符\\t:',re.match(pattern,sxiao))
sxiao='\n'
print('匹配字符\\n:',re.match(pattern,sxiao))
sxiao='_'
print('匹配字符_:',re.match(pattern,sxiao))

【示例】常用匹配符\w和\W的使用

import re
print('-------\w匹配字母、数字、下划线--------')
pattern='\w' #匹配字母、数字、下划线
sxiao='a'
print('匹配字符a:',re.match(pattern,sxiao))
sxiao='_'
print('匹配字符_:',re.match(pattern,sxiao))
sxiao='5'
print('匹配数字5:',re.match(pattern,sxiao))
sxiao='A'
print('匹配字符A:',re.match(pattern,sxiao))
sxiao='#'
print('匹配字符#:',re.match(pattern,sxiao))
print('-------\W匹配不是字母、数字、下划线--------')
pattern='\W' #匹配不是字母、数字、下划线
sxiao='a'
print('匹配字符a:',re.match(pattern,sxiao))
sxiao='_'
print('匹配字符_:',re.match(pattern,sxiao))
sxiao='5'
print('匹配数字5:',re.match(pattern,sxiao))
sxiao='A'
print('匹配字符A:',re.match(pattern,sxiao))
sxiao='#'
print('匹配字符#:',re.match(pattern,sxiao))

【示例】[]匹配列表中的字符

import re
pattern='[2468]' #匹配列表中的字符
sxiao='1'
print('匹配数字1:',re.match(pattern,sxiao))
sxiao='2'
print('匹配数字2:',re.match(pattern,sxiao))
sxiao='3'
print('匹配数字3:',re.match(pattern,sxiao))
sxiao='4'
print('匹配数字4:',re.match(pattern,sxiao))
sxiao='#'
print('匹配字符#:',re.match(pattern,sxiao))
print('---------手机号码-----------')
sxiao='13456788789'
pattern='\d\d\d\d\d\d\d\d\d\d\d'#匹配手机号
print('匹配手机号码:',re.match(pattern,sxiao))
pattern='1[35789]\d\d\d\d\d\d\d\d\d'#匹配手机号
print('匹配手机号码:',re.match(pattern,sxiao))

其中,匹配符“[]”可以指定一个范围,例如:“[ok]”将匹配包含“o”或 “k”的字符。同时“[]”可以与\w、\s、\d等标记等价。例如,[0-9a-zAZ]等价于\w,[ ^0-9 ] 等价于\D。

限定符 

从上面示例中可以看到如果要匹配手机号码,需要形如 “\d\d\d\d\d\d\d\d\d\d\d”这样的正则表达式。其中表现了11次 “\d”,表达方式烦琐。正则表达式作为一门小型的语言,还提供了对表达式的一部分进行重复处理的功能。例如,“*”可以对正则表达式的某个部分重复匹配多次。这种匹配符号称为限定符。

符号描述符号描述
*匹配零次或多次{m}重复m次
+匹配一次或多次{m,n}重复m到n次,其中n可以省略,表示m到任意次
?匹配一次或零次{m,}至少m次

【示例】限定符*+?的使用

import re
print('------*匹配零次或多次--------')
pattern='\d*'  #0次或多次
sxiao='123abc'
print('匹配123abc:',re.match(pattern,sxiao))sxiao='abc'  #这时候不是None而是''
print('匹配abc:',re.match(pattern,sxiao))
print('-----+匹配一次或多次---------')pattern='\d+'  #1次或多次
sxiao='123abc'
print('匹配123abc:',re.match(pattern,sxiao))sxiao='abc'  #这时候是None
print('匹配abc:',re.match(pattern,sxiao))
print('-----?匹配一次或零次---------')pattern='\d?'  #0次或1次
sxiao='123abc'
print('匹配123abc:',re.match(pattern,sxiao))sxiao='abc'  #这时候是空
print('匹配abc:',re.match(pattern,sxiao))

【示例】限定符{}的使用

import re
print('-----{m}重复m次---------')
pattern='\d{3}'  #出现m次
sxiao='123abc'
print('pattern为\\d{3}匹配123abc结果:',re.match(pattern,sxiao))
pattern='\d{4}'  #出现m次
print('pattern为\\d{4}匹配123abc结果:',re.match(pattern,sxiao))
print('-----{m,}至少m次---------')sxiao='1234567abc'
pattern='\d{3,}'  #出现大于m次 尽可能满足的都返回
print('pattern为\\d{3,}匹配1234567abc结果:\n',re.match(pattern,sxiao))
print('-----{m,n}重复m到n次---------')
pattern='\d{2,4}'  #出现m到n次
print('pattern为\\d{2,4}匹配1234567abc结果:\n',re.match(pattern,sxiao))

限定符使用示例

【示例】匹配出一个字符串首字母为大写字符,后边都是小写字符,这些小写字母可有可无

pattern='[A-Z][a-z]*'
sxiao='Hello world'
sxiao='HEllo world'
v=re.match(pattern,sxiao)
print(v)

 【示例】匹配出有效的变量名

import re
pattern='[A-Za-z_][0-9A-Za-z_]*'
print('pattern为[A-Za-z_][0-9A-Za-z_]*')
sxiao='a'
print('匹配变量名a的结果:',re.match(pattern,sxiao))sxiao='ab'
print('匹配变量名ab的结果:',re.match(pattern,sxiao))sxiao='_ab'
print('匹配变量名_ab的结果:',re.match(pattern,sxiao))sxiao='2ab'
print('匹配变量名2ab的结果:',re.match(pattern,sxiao))print('pattern为[A-Za-z_]\w*')
pattern='[A-Za-z_]\w*'
sxiao='a'
print('匹配变量名a的结果:',re.match(pattern,sxiao))sxiao='ab'
print('匹配变量名ab的结果:',re.match(pattern,sxiao))sxiao='_ab'
print('匹配变量名_ab的结果:',re.match(pattern,sxiao))sxiao='2ab'
print('匹配变量名2ab的结果:',re.match(pattern,sxiao))

【示例】匹配出1-99之间的数字

import re
pattern='[1-9]\d?'
sxiao='1'
print('匹配数字1:',re.match(pattern,sxiao))sxiao='55'
print('匹配数字55:',re.match(pattern,sxiao))sxiao='99'
print('匹配数字99:',re.match(pattern,sxiao))sxiao='199'
print('匹配数字199:',re.match(pattern,sxiao))

【示例】匹配出一个随机密码8-20位以内 (大写字母 小写字母 下划线 数字)

import re
pattern='\w{8,20}'
sxiao='12345678'
print('匹配12345678的结果:\n',re.match(pattern,sxiao))sxiao='123__456'
print('匹配123__456的结果:\n',re.match(pattern,sxiao))

 

相关文章:

Python入门【动态添加属性和方法、正则表达式概述、match函数的使用、常用匹配符、限定符 、限定符使用示例】(二十九)

👏作者简介:大家好,我是爱敲代码的小王,CSDN博客博主,Python小白 📕系列专栏:python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 📧如果文章知识点有错误…...

《Go 语言第一课》课程学习笔记(四)

构建模式:Go Module 的 6 类常规操作 为当前 module 添加一个依赖 我们如何为一个 Go Module 添加一个新的依赖包呢? 如果我们要为项目增加一个新依赖:github.com/google/uuid,我们首先会更新源码:package mainimpor…...

制定建立商务模式财务及企业管理信息系统的解决方案

1、调查企业对 Internet 的需求,并制定全面规划。由于电子商务的范围相当 广泛,企业在实施电子商务模式财务及企业管理信息系统时,应先调查哪些对于企 业的收益较大,然后进行全面规划,即规划信息化基本平台、后台企业…...

UE Json Operate 解析嵌套数组

演示如何使用 DTJsonOperate 插件,在蓝图中解析嵌套数组。 比如这个Json {"name": [[[1, 2]],[3, 4],[5, 6]] } 操作演示 最后打印 本功能需要插件支持,插件下载地址。...

sd-webui安装comfyui扩展

文章目录 导读ComfyUI 环境安装1. 安装相关组件2. 启动sd-webui3. 访问sd-webui 错误信息以及解决办法 导读 这篇文章主要给大家介绍如何在sd-webui中来安装ComfyUI插件 ComfyUI ComfyUI是一个基于节点流程式的stable diffusion的绘图工具,它集成了stable diffus…...

Apache Doris 2.0.0 版本正式发布:盲测性能 10 倍提升,更统一多样的极速分析体验

亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于 2023 年 8 月 11 日正式发布,有超过 275 位贡献者为 Apache Doris 提交了超过 4100 个优化与修复。 在 2.0.0 版本中,Apache Doris 在标准 Benchmark 数…...

LeetCode235. 二叉搜索树的最近公共祖先

235. 二叉搜索树的最近公共祖先 文章目录 [235. 二叉搜索树的最近公共祖先](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/)一、题目二、题解方法一:递归方法二:迭代 一、题目 给定一个二叉搜索树, 找到该树中两个指定…...

设计模式——建造者(Builder)模式

建造者模式(Builder Pattern),又叫生成器模式,是一种对象构建模式 它可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同表现的对象。建造者模式是一步一步创建一个复杂的对象,…...

Java课题笔记~ SpringBoot概述

问题导入 学习了SpringBoot入门案例之后,感觉对比SpringMVC哪一个更加方便简洁? SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程 Spring程序缺点 配置繁琐 依赖设置繁琐 SpringBoot程序…...

python优雅地爬虫!

背景 我需要获得新闻,然后tts,在每天上班的路上可以听一下。具体的方案后期我也会做一次分享。先看我喜欢的万能的老路:获得html内容-> python的工具库解析,获得元素中的内容,完成。 好家伙,我知道我爬…...

UVM RAL后门访问配置

先给一下大致的代码结构,根据代码结构来描述。 //dut结构 module my_dut(...);my_reg U_REG(......);endmodulemodule my_reg(...);//reg1和reg2是一个reg的两个field,reg3单独是一个regreg [15:0] reg1_q;reg [15:0] reg2_q;reg [31:0] reg3_q;endmodu…...

数学建模之“灰色预测”模型

灰色系统分析法在建模中的应用 1、CUMCM2003A SARS的传播问题 2、CUMCM2005A长江水质的评价和预测CUMCM2006A出版社的资源配置 3、CUMCM2006B艾滋病疗法的评价及疗效的预测问题 4、CUMCM2007A 中国人口增长预测 灰色系统的应用范畴大致分为以下几方面: (1)灰色关…...

深入探讨 Oxigen:Rust 实现的并行遗传算法框

第一部分:引言及Oxigen框架概览 随着遗传算法在许多领域(如优化、机器学习和人工智能)的应用日益增多,其性能和效率成为了关键焦点。Oxigen 是一个用 Rust 语言实现的并行遗传算法框架,其提供了高效的并行计算机制&am…...

Flink-----Standalone会话模式作业提交流程

1.Flink的Slot特点: 均分隔离内存,不隔离CPU可以共享:同一个job中,不同算子的子任务才可以共享同一个slot,同时在运行的前提是,属于同一个slot共享组,默认都是“default”2.Slot的数量 与 并行度 的关系 slot 是一种静态的概念,表示最大的并发上线并行度是个动态的概念…...

算法与数据结构(七)--堆

一.堆 1.堆的定义 堆是计算机科学中一类特殊的数据结构的通常,堆通常可以被看做是一颗完全二叉树的数组对象。 堆的特性 1.它是完全二叉树,除了树的最后一层结点不需要是满的,其他的每一层从左到右都是满的,如果最后一层结点不…...

软件工程概述-架构师(三)

软件工程概述(老版) 软件开发生命周期: 软件定义时期:包括 可行性研究和详细需求分析过程,任务是软件工程必需完成的目标,具有可行问题分析、可行性研究、需求分析等。软件开发时期:软件的 设…...

华为手机Outlook手机APP无法登录邮箱,提示[2002]错误代码

近期遇到不少华为手机的Outlook APP无法登录邮箱Office365邮箱的案例,并且提示: 错误 出错了。[2002] 经测试,这应该是华为应用市场下载的Outlook版本有问题。 解决方法: 把Outlook卸载之后从微软官网重新下载官网版本去安装&am…...

“深入探究JVM内部结构与工作原理:解析Java虚拟机“

标题:深入探究JVM内部结构与工作原理 摘要:本文将深入探究Java虚拟机(JVM)的内部结构与工作原理。我们将介绍JVM的基本组成部分,包括类加载器、运行时数据区和执行引擎。同时,我们将通过一个示例代码来说明…...

windows下redis服务启动及.bat文件中中redis服务的启动

windows windows下redis服务的启动 1、不配置环境变量 找到redis服务的安装目录进入命令行窗口并输入命令redis-server.exe redis.windows.conf2、配置环境变量 将redis安装目录配置在path环境变量中之后就可以在cmd窗口的任意位置输入redis-server命令就可以启动redis服务…...

【学习笔记之vue】 Cannot find module ‘node-sass‘

Cannot find module node-sass方案一(不通) 下载node-sass组件 >> npm install -g cnpm>>cnpm install node-sass下载时报错 方案二 使用npm下载node-sass组件 >>npm install node-sassok...

POSTGRESQL 关于安装中自动启动的问题 详解

开头还是介绍一下群,如果感兴趣Polardb ,mongodb ,MySQL ,Postgresql ,redis ,SQL SERVER ,ORACLE,Oceanbase 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请加 liuaustin3微信号 &…...

Java寻找数组的中心下标

目录 1.题目描述 2.题解 分析 具体实现 1.题目描述 给你一个整数数组 nums ,请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端,那么左侧数之和…...

ORACLE中判断表是否存在再删除表避免报错与MySql和SqlServer的不同

不同数据库中drop a table if it exists的不同: In MySQL it is pretty easy to drop a table if it exists already. In Oracle and Microsoft’s SQL Server it is a little more complicated. Today I want to present you the solutions for these two DBMS’.…...

解决 Maven 创建 Spring Boot 项目时出现 “Cannot access alimaven“ 错误的方法

系列文章目录 文章目录 系列文章目录前言一、确认 Maven 配置二、创建 Spring Boot 项目三、修改项目的 Maven 配置四、清除 Maven 本地仓库五、重新构建项目总结前言 Maven 是 Java 项目的构建工具,而 Spring Boot 则是用于快速构建 Spring 应用程序的框架。但有时,在创建 …...

设计模式——适配器模式

引入实例 说起适配器其实在我们的生活中是非常常见的,比如:学校的宿舍的电压都比较低,而有的学生想使用大功率电器,宿舍的就会跳闸,然而如果你使用一个适配器(变压器)就可以使用了(…...

如何区分闰年与平年

首先要明白 地球绕太阳运行周期为365天5小时48分46秒(合365.24219天),即一回归年(tropical year)。公历的平年只有365日,比回归年短约0.2422 日,每四年累积约一天,把这一天加于2月末…...

中间件(下)

1、中间件与性能优化的关系: 中间件与性能优化之间存在密切的关系,特别是在构建复杂的分布式系统、处理高并发、实现异步通信等情况下。中间件可以在性能优化方面发挥重要作用,但同时,不当的中间件选择和配置也可能导致性能问题。…...

LVS-DR的RS进行ARP抑制的原因和LVS持久连接配置

一.RS的ARP抑制 1.为什么要抑制 2.如何抑制 (1)修改/etc/sysctl.conf文件,增加以下内容 (2)命令行临时设置 二.LVS持久连接 1.客户端持久连接 2.端口持久连接 3.防火墙标记持久连接 一.RS的ARP抑制 1.为什么要…...

【HarmonyOS】codelab在hvigor版本2.4.2上无法运行问题

【关键字】 HarmonyOS、codelab、hvigor 【问题描述】 有cp反馈集成鸿蒙codelab报错。 下载音乐专辑示例文件(一次开发,多端部署-音乐专辑(ArkTS) (huawei.com))后构建项目,显示找不到2.5.0的hvigor。 …...

MySQL- sql语句基础

文章目录 1.select后对表进行修改(delete)2.函数GROUP_CONCAT()3.使用正则表达式3.DATE_FORMAT()4.count() 加条件 1.select后对表进行修改(delete) 报错:You can’t specify target table ‘Person’ for update in …...

【目标检测中对IoU的改进】GIoU,DIoU,CIoU的详细介绍

文章目录 1、IoU2、GIoU(Generalized Intersection over Union)3、DIoU4、CIoU 1、IoU IoU为交并比,即对于pred和Ground Truth:交集/并集 1、IoU可以作为评价指标使用,也可以用于构建IoU loss 1 - IoU 缺点: 2、对于pred和GT相…...

【环境配置】Windows10终端和VSCode下能够直接打开Anaconda-Prompt

很多小伙伴在 Windows 下做深度学习开发的时候,遇到终端没有在 Linux 那么方便,那么我们现在就可以来设置一下;这样我们也可以在文件夹内部右键打开终端,也可以在 VS Code 里面新建一个虚拟环境的控制台;这里主要是针对…...

稚晖君人形机器人问世:大模型加持,会自己换胳膊,要上生产线造车

从零开始,不到半年就造出人形机器人,还自带软硬件体系。 大模型技术的新一波浪潮:具身智能,已经有了重要进展。 刚刚,稚晖君的创业公司「智元机器人」开了自己的第一场发布会。 以「天才少年」身份加入华为的稚晖君(彭志辉)于去年底宣布离职创业,人们都在关注他在机器…...

变更通知在开源SpringBoot/SpringCloud微服务中的最佳实践

目录导读 变更通知在开源SpringBoot/SpringCloud微服务中的最佳实践1. 什么是变更通知2. 变更通知的场景分析3. 变更通知的技术方案3.1 变更通知的技术实现方案 4. 变更通知的最佳实践总结5. 参考资料 变更通知在开源SpringBoot/SpringCloud微服务中的最佳实践 1. 什么是变更通…...

亚马逊产品排名关键因素解析,通过测评干预需要具备哪些条件

亚马逊产品排名的高低意味着分配的流量多少以及销量的高低。影响产品排名的因素主要包括以下四个方面: 1. 产品销量 产品销量是反映产品在同类产品销售情况的一个重要指标。它在产品Listing中展示,并且平台每小时会更新一次该排行榜。平台算法认为&…...

leetcode原题:绘制直线(位运算)

题目: 已知一个由像素点组成的单色屏幕,每行均有 w 个像素点,所有像素点初始为 0,左上角位置为 (0,0)。 现将每行的像素点按照「每 32 个像素点」为一组存放在一个 int 中,再依次存入长度为 length 的一维数组中。 …...

jenkins 安装和通过gitee 拉取PHP项目

#jenkins 安装地址:https://pkg.jenkins.io/redhat-stable/sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key yum install fontconfig…...

解析TCP/IP协议的分层模型

了解ISO模型:构建通信的蓝图 为了促进网络应用的普及,国际标准化组织(ISO)引入了开放式系统互联(Open System Interconnect,OSI)模型。这个模型包括了七个层次,从底层的物理连接到顶…...

ARM M33架构入门

概述 Arm Cortex-M33核心处理器专为需要高效安全或数字信号控制的物联网和嵌入式应用而设计。该处理器具有许多可选功能,包括数字信号处理扩展 (DSP)、用于硬件强制隔离的TrustZone 安全性、内存保护单元 (MPU)和浮点单元 (FPU)。 Cortex-M33 的性能比 Cortex-M…...

CentOS系统环境搭建(四)——Centos7安装Java

centos系统环境搭建专栏🔗点击跳转 Centos7安装Java 查看云端yum库中目前支持安装的jdk软件包 yum search java|grep jdk选择JDK版本,并安装 yum install -y java-1.8.0-openjdk检查是否安装成功 java -version查看JDK的安装目录 find / -name jav…...

Arduino MQTT客户端库PubSubClient快速入门

文章目录 目的基础说明示例代码总结 目的 MQTT是比较常用在物联网设备中的通讯协议,这篇文章将使用 Arudino ESP32 作为MQTT客户端进行通讯使用演示。目前Arduino的MQTT客户端库中最常使用的是 PubSubClient ,所以本文也将以此进行说明。 主页&#xf…...

视频集中存储/云存储/磁盘阵列EasyCVR平台接入RTSP设备出现离线情况的排查

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...

部署Springboot项目注意事项

步骤 步骤 1:将数据库内容在云服务器上的数据库部署一份 我使用mariadb;会出现一些不兼容现象;我们需要把默认值删掉 2:配置文件你得修改地方 a:linux是磁盘区分(像我自己项目用来储存验证码的文件我们得换这个配置;…...

深度解析:DDoS攻击与先进防御策略

目录 DDoS 介绍 DDoS 攻击理论 DDoS 介绍 DDoS(分布式拒绝服务)攻击是一种恶意网络活动,旨在通过同时向目标系统发送大量请求或流量,使其无法正常运行或提供服务。攻击者通常利用网络上的多个计算机和设备,形成一个&…...

NLP | 论文摘要文本分类

基于论文摘要的文本分类与关键词抽取挑战赛​​​​​​2023 iFLYTEK A.I.开发者大赛-讯飞开放平台 环境需求:Anaconda-JupyterNotebook,或者百度AIStudio 赛题解析: 【文本二分类任务】根据论文摘要等信息理解,将论文划分为0-1两…...

Linux / Ubuntu磁盘扩容

测试时遇到了shell脚本执行错误的问题,找到脚本编写的楼哥,才发现自己给虚拟机的磁盘已经满了,没想到啊,业务的解压操作,这么费磁盘,那就需要进行磁盘的扩展,记录一下 1、首先停掉虚拟机&#…...

【ChatGPT 指令大全】怎么使用ChatGPT来辅助知识学习

目录 概念解说 简易教学 深度教学 教学与测验 解释一个主题的背后原理 总结 在当今信息时代,互联网的快速发展为我们获取知识提供了前所未有的便利。而其中,人工智能技术的应用也为我们的学习和交流带来了新的可能性。作为一种基于自然语言处理的人…...

URL编码指南

URL简介 URL 是统一资源定位符(Uniform Resource Locator)的缩写。它是用于在互联网上定位并访问资源的一种标识方式。 URL通常由以下几个组成部分组成: 协议(Protocol):指示要使用的协议,如…...

Java mail邮件开发 OA办公系统

目录 1 Java mail邮件开发 OA办公系统 1.1 ExitServlet 1.1.1 //退出系统 1.2 LoginAction 1.2.1 //登录Action Java mail邮件开发 OA办公系统 ExitServlet package com.email.ser...

ElasticSearch的客户端操作

ElasticSearch的客户端操作 1、客户端介绍 官方文档地址: https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html 实际开发中,有多种方式操作Elasticsearch: 客户端工具:发送http请求(RESTful风格)操作…...