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

python 语法篇(一)

目录

  • 1 正则匹配
    • 注意点1
    • 1.1 正则匹配字符串写法
    • 1.2 创建re函数
      • (1)re.search()--搜索第一个匹配项
      • (2)re.match() - 从字符串开头匹配
      • (3)re.findall() - 返回所有匹配项的列表
      • (4)re.finditer() - 返回匹配项的迭代器(适合大文本)
      • (5)re.sub() - 替换匹配内容
      • (6)re.split() - 按正则表达式分割字符串
  • 2 参数数量/类型/默认值指定
  • 3 引用传递和值传递说明
  • 4 排列组合 itertools
  • 5 内置变量/特殊变量
    • 5.1 内置变量
    • 5.2 类相关的特殊属性
  • 6 try-except-else-finally机制
    • 6.1 基础用法
    • 6.2 else-finally
    • 6.3 向上一级抛出错误
  • 7 Threading - 线程(不是进程,创建进程我用的少)
    • 7.1 讲到线程,就不得不谈线程通信
  • 8 路径操作及路径索引 glob

以下资料参考官网及AI

1 正则匹配

re官网
python 的 re 库能够实现正则匹配功能。

注意点1

注意:在Python中使用正则表达式时要优先使用原始字符串。
(也就是说,字符串不会被python语言解析。而只会被re库里的函数解析)

原因如下:
正则表达式本身用 \ 转义特殊字符(如 \d 表示数字),但Python字符串中的 \ 也是转义符。因此,在普通字符串中写正则表达式时,需用 ‌两个反斜杠‌ 表示一个实际的反斜杠(如 \d)。

原始字符串(前缀 r)会忽略Python字符串的转义规则,直接保留所有字符的字面值。例如,r"\d" 会直接传递给正则引擎 \d,而无需额外转义。

以下为错误案例1:

import repattern = "\\"  # 普通字符串:实际传递的是单个 \,但正则引擎会报错(转义不完整)
re.findall(pattern, "a\\b")  # 报错:因为正则收到的是单个 \

正确写法:

pattern = "\\\\"  # 普通字符串中,四个反斜杠 → Python转义为两个 \,正则引擎收到两个 \
result = re.findall(pattern, "a\\b")  # 成功匹配到 ["\\"]

使用原始字符串的写法:

pattern = r"\\"  # 原始字符串直接保留两个 \,正则引擎收到两个 \
result = re.findall(pattern, "a\\b")  # 成功匹配到 ["\\"]

以下为错误案例2:

pattern = "\b"   # 普通字符串中,\b 是退格符,正则引擎无法识别为单词边界
re.findall(pattern, "hello world")  # 匹配失败

正确写法:

pattern = r"\b"  # 原始字符串直接传递 \b,正则引擎识别为单词边界
result = re.findall(pattern, "hello world")  # 匹配到单词边界的空字符

1.1 正则匹配字符串写法

pattern = r'xxx'

匹配字符含义案例
[ ]一个字符的集合,这写字符可以单独列出,也可以用范围表示(范围用-分隔)[abc],[a-c]
$[akm$] 将会匹配以下任一字符 ‘a’, ‘k’, ‘m’ 或 ‘$’
^^放在字符类的最开头,集合取反来匹配字符类中未列出的字符。(如果放在字符类其他位置,则无意义)[^5] 将匹配除 ‘5’ 之外的任何字符;[5^] 将匹配 ‘5’ 或 ‘^’
\w匹配任何字母数字字符相当于字符类 [a-zA-Z0-9_]
\d匹配任何十进制数字等价于字符类 [0-9]
\S匹配任何非空白字符等价于字符类 [^ \t\n\r\f\v]
\W匹配任何非字母与数字字符等价于字符类 [^a-zA-Z0-9_]
\s匹配任何空白字符[ \t\n\r\f\v]
\D匹配任何非数字字符等价于字符类 [^0-9]
.匹配除换行符之外的任何字符
*定前一个字符可以匹配零次或更多次,而不是只匹配一次ca*t 将匹配 ‘ct’ ( 0 个 ‘a’ )、‘cat’ ( 1 个 ‘a’ )、 ‘caaat’ ( 3 个 ‘a’ )
+匹配一次或更多次ca+t 可以匹配 ‘cat’ ( 1 个 ‘a’ )或 ‘caaat’ ( 3 个 ‘a’),但不能匹配 ‘ct’
{m,n}其中 m 和 n 是十进制整数,该限定符意味着必须至少重复 m 次,最多重复 n 次。a/{1,3}b 可以匹配 ‘a/b’、‘a//b’ 或者 ‘a///b’ ,但不能匹配中间没有斜杆的 ‘ab’,或者四个斜杆的 ‘ab’
()它们将包含在其中的表达式组合在一起,你可以使用重复限定符重复组的内容(ab)*,匹配ab 0到多次

1.2 创建re函数

(1)re.search()–搜索第一个匹配项

import retext = "Python is fun, Python is powerful"
pattern = r"Python"
match = re.search(pattern, text)
if match:print("Found:", match.group())  # 输出: Found: Python

(2)re.match() - 从字符串开头匹配

import re
text = "Python is awesome"
pattern = r"Python"
match = re.match(pattern, text)
if match:print("Match found:", match.group())  # 输出: Match found: Python# 若 text = "I love Python",则 match 为 None

(3)re.findall() - 返回所有匹配项的列表

import re
text = "apple 12, banana 3, cherry 45"
numbers = re.findall(r'\d+', text)
print(numbers)  # 输出: ['12', '3', '45']

(4)re.finditer() - 返回匹配项的迭代器(适合大文本)

import re
text = "a=1, b=2, c=3"
matches = re.finditer(r'\w+=\d+', text)
for match in matches:print(match.group())  # 输出: a=1, b=2, c=3

(5)re.sub() - 替换匹配内容

import re
text = "2023-10-05"
new_text = re.sub(r'-', '/', text)
print(new_text)  # 输出: 2023/10/05# 使用函数处理替换内容
def double_number(match):return str(int(match.group()) * 2)text = "Score: 5, Count: 3"
result = re.sub(r'\d+', double_number, text)
print(result)  # 输出: Score: 10, Count: 6

(6)re.split() - 按正则表达式分割字符串

import re
text = "one,two;three four"
parts = re.split(r'[,; ]+', text)
print(parts)  # 输出: ['one', 'two', 'three', 'four']

2 参数数量/类型/默认值指定

直接通过一个综合案例说明:

from typing import Union, Optional, Anydef generate_user_card(username: str,  # 必选参数(无默认值)age: int = 18,  # 必选但有默认值(可省略)*hobbies: str,  # 不定数量的位置参数(爱好)country: Optional[str] = "未知",  # 可选关键字参数(允许None)**extra_info: Union[str, int, float]  # 不定数量的关键字参数(扩展信息)
) -> dict[str, Any]:"""生成用户信息卡,支持灵活参数输入"""user_data = {"username": username,"age": age,"hobbies": hobbies if hobbies else ("无",),"country": country,"extra": extra_info}return user_data

(1)基础调用:


result1 = generate_user_card("Alice")
print(result1)
# {'username': 'Alice', 'age': 18, 'hobbies': ('无',), 'country': '未知', 'extra': {}}

(2)额外信息传入:

result3 = generate_user_card("Charlie",age=30,country=None,  # 明确设置为Noneemail="charlie@example.com",score=95.5
)
print(result3["extra"])
# {'email': 'charlie@example.com', 'score': 95.5}

3 引用传递和值传递说明

在 Python 中,变量传递的本质是 对象引用的传递‌,所有操作都是基于对象的引用(可以理解为“指针”)。

  • 不可变对象‌(int, float, str, tuple 等)
    传递的是对象的引用,但修改时会创建新对象,原始对象不受影响(类似“值传递”的效果)

  • ‌可变对象‌(list, dict, set, 自定义类实例等)
    传递的是对象的引用,修改内容时会影响原始对象(类似“引用传递”的效果)

案例说明1

def modify_data(num: int, lst: list, obj: object):num += 10      # 不可变对象:创建新对象lst.append(4)  # 可变对象:修改原对象obj.value = 5  # 可变对象:修改原对象# 初始化数据
original_num = 5
original_list = [1, 2, 3]
class MyClass:def __init__(self):self.value = 0
original_obj = MyClass()# 调用函数
modify_data(original_num, original_list, original_obj)print(original_num)    # 输出 5(未改变)
print(original_list)   # 输出 [1, 2, 3, 4](已改变)
print(original_obj.value)  # 输出 5(已改变)

案例2

class DataHolder:def __init__(self, data):self.data = data  # data 是可变/不可变对象的引用# 不可变对象操作
holder1 = DataHolder(10)
temp = holder1.data
temp += 5  # 创建新对象,不影响原数据
print(holder1.data)  # 输出 10# 可变对象操作
holder2 = DataHolder([1, 2])
holder2.data.append(3)  # 直接修改原对象
print(holder2.data)     # 输出 [1, 2, 3]

案例3:修改和赋值的本质区别

a = [1, 2]
b = a       # 引用传递(指向同一对象)
b.append(3) # 修改原对象
print(a)    # 输出 [1, 2, 3]c = [4, 5]
d = c
d = [6, 7]  # 创建新对象(重新绑定引用)
d.append(10)
print(c)    # 输出 [4, 5](原对象未变)

注意,这里:
lst = lst + (创建新列表,不影响原对象)
lst.append(4)(原地修改,影响原对象)

案例4:默认参数陷阱

# 错误示例:默认参数为可变对象
def buggy_func(data=[]):  # 默认列表会持续保留data.append(1)return data# 正确做法
def safe_func(data=None):data = data if data is not None else []data.append(1)return data

错误案例的进一步测试:

def func(data=[]):data.append(1)return datafunc()
data = func()
data.append(10)
func()
print(data) # 输出:[1, 1, 10, 1]

4 排列组合 itertools

tee 生成迭代器副本(副本的修改不影响原始数据)
islice 切片
zip_longest 合并多个迭代器

import itertoolsl = [1,2,3,4]
iter1, iter2 = itertools.tee(l, 2)
for x in iter1:
# 
itertools.zip_longest()

5 内置变量/特殊变量

5.1 内置变量

python所有的内置变量:

dir(__builtins__)

__name__
如果当前运行的python文件为主文件,则该文件:
__name__ == __main__
如果当前文件被其他文件调用,则该文件:
__name__ == [文件名](不带.py后缀)
参考文章

5.2 类相关的特殊属性

__slots__
限制class可绑定的类的属性。

__slots__ = ['属性名1','属性名2','属性名3']

定义的属性仅对当前类实例起作用,对继承的子类是不起作用的。
除非在子类中也定义__slots__,这样,子类实例允许定义的属性就是自身的__slots__加上父类的__slots__。
__init__
类默认构造函数 ,第一个参入参数为self
__lt__
@property装饰器
将方法变成属性调用。
__str__

6 try-except-else-finally机制

6.1 基础用法

try:with open('example.txt', 'r') as file:content = file.read()print(content)
except FileNotFoundError:print("文件未找到,请检查文件路径是否正确。")
except PermissionError:print("没有权限读取该文件。")
except Exception as e:# 捕获所有其他类型的异常print(f"发生了一个错误:{e}")

try: 放置可能引发异常的代码。‘
except:如果try中的代码引发异常,会跳转到指定的except 块儿中
as: as e是可选的,允许你将异常实例赋值给变量e,这样就可以在except块中访问到异常信息。
Exception :代表不指定异常类型(反之捕获所有异常)

Python会按照except块的顺序检查,一旦找到匹配的异常类型,就会执行该块中的代码,并且跳过后续的except块。

6.2 else-finally

try:# 尝试执行的代码pass
except SomeException:# 处理异常的代码pass
else:# 如果没有异常发生,执行这里的代码pass
finally:# 无论是否发生异常,都执行这里的代码pass

else:如果你想要在没有异常发生时执行一些代码,可以使用else块。它紧跟在所有的except块之后,只有在try块没有引发任何异常时才会执行。
finally:无论是否发生异常,finally块中的代码都会被执行。这通常用于执行一些清理工作,比如关闭文件或释放资源。

6.3 向上一级抛出错误

raise [error]
注意:如果不抛出错误,程序在执行换except后就会退出吗?
当except块内部的操作执行完成后,程序并不会自动退出,除非你在except块中显式地调用了sys.exit()、exit()、os._exit()等函数来终止程序,或者异常没有被捕获并且传播到了程序的顶层(即没有被任何try块捕获)。

7 Threading - 线程(不是进程,创建进程我用的少)

感谢大佬的总结:
https://liaoxuefeng.com/books/python/process-thread/thread/index.html
说实话,之前只用过C thread,没用过python。
这里对大佬的 文章列出一些关键点:
(1)启动一个线程就是把一个函数传入并创建Thread实例,然后==调用start()==开始执行。
(2)在Python中,可以使用多线程,但不要指望能有效利用多核


有一些久远的记忆似乎在逐渐复苏

7.1 讲到线程,就不得不谈线程通信

线程的特点就是,共享资源,任务间需要频繁通信。
线程的关键点就是:通信和同步。
要避免的问题:死锁
(1)互斥锁
(2)信号量
(3)条件变量
(4)事件
(5)消息队列
(6)管道

8 路径操作及路径索引 glob

主要利用glob2库

from glob2 import globpaths = glob(file_path) # 搜索文件file_path下所有文件,返回list变量# 返回该路径下所有文件

相关文章:

python 语法篇(一)

目录 1 正则匹配注意点11.1 正则匹配字符串写法1.2 创建re函数(1)re.search()--搜索第一个匹配项(2)re.match() - 从字符串开头匹配(3)re.findall() - 返回所有匹配项的列表(4)re.fi…...

机器学习ML极简指南

机器学习是现代AI的核心,从推荐系统到自动驾驶,无处不在。但每个智能应用背后,都离不开那些奠基性的模型。本文用最简练的方式拆解核心机器学习模型,助你面试时对答如流,稳如老G。 线性回归 线性回归试图通过"最…...

爬虫:网络请求(通信)步骤,http和https协议

电脑(浏览器):www.baidu.com——url DNS服务器:IP地址标注服务器——1.1.38 DNS服务器返回IP地址给浏览器 浏览器拿到IP地址去访问服务器,返回响应 服务器返回给响应数据:html/css/js/jpg... html:文本 cs…...

【杂谈】-大型语言模型对具身人工智能发展的推动与挑战

大型语言模型对具身人工智能发展的推动与挑战 文章目录 大型语言模型对具身人工智能发展的推动与挑战1. 具身人工智能(Embodied AI)的内涵解析2. 大型语言模型的功能与作用3. 最新发展趋势4. 面临的挑战与考量因素5. 总结与展望 多年来,研发能…...

解决Beats Solo Buds 无法自动切换音频到耳机的问题

一、核心问题定位 现象矛盾点: Beats 耳机能连接但需手动切换音频 AirPods 可自动切换 → 排除 iOS 系统级故障 问题可能源于 Beats 固件兼容性 或 音频路由逻辑冲突 关键差异: 设备 芯片类型 自动切换协议支持 固件更新方式 AirPods 二代 H1芯片 原…...

MySQL基本查询

一.create 1.1 单行数据 全列插入 1.2 多行数据 指定列插入 1.3插入否则更新 1.4替换 二.Retrieve 2.1.SELECT列 2.1.1全列查询 2.1.2指定列查询 2.1.3查询字段为表达式 2.1.4 为查询结果指定别名 2.1.5结果去重 2.2WHERE 条件 2.2.1比较运算符 2.2.3逻辑运算符…...

面基:为什么不推荐用UUID作为主键

推荐回答结构: 技术理论层面分析 实际项目中的教训 优化改进过程 总结提炼认知 阐述回答 在阐述回答时,你可以从 UUID 本身特性带来的问题,以及在实际工作中遇到的具体场景和优化过程等方面展开,下面从这一思路,给…...

oracle 常用函数的应用

在使用开发中会经常遇到数据类型转换、显示系统时间等情况,需要使用函数来实现。通过函数来实现业务需求会非常的省事便捷,函数可以用在适当的dml语句和查询语句中。 Oracle 数据库中主要使用两种类型的函数: (1)单行函数:对每一个…...

ubuntu的ubuntu--vg-ubuntu--lv磁盘扩容

在我们安装ubuntu时,如果选择的是自动分区,就会按照逻辑卷的形式来分区,并且只分配100G其余的并不会被分配,这对我们大多数情况来说都是不合理的,所以,如何扩充呢 下面以一个小的案例来说明如何扩充 问题…...

鬼泣:升龙系统

文章目录 0.升龙系统:升龙斩使敌人浮空升龙斩使敌人浮空:设置flying状态,不会落下 1.升龙斩:S 攻击S按下calculate directionin range warp:前提是根运动打开蒙太奇拔刀收刀canCombo:接轻攻击连击 2. A.向…...

UI产品经理基础(四):用价值链视角来分析项目需求

用价值链视角来分析项目需求 作为产品经理,从价值链视角分析项目需求,能够更精准地定位价值创造的关键环节,确保资源投入与用户需求、商业目标深度匹配。以下是系统化的方法论与落地步骤,结合案例说明如何实现需求分析与用户认可…...

ThinkPHP的“get\post\put\delete“请求

首先了解一下这四个请求的区别 1.GET 请求 用途:获取资源(只读操作,不修改服务器数据)。 特点: 参数通过 URL 的 查询字符串(Query String) 传递(例如 /book?id1)。 数…...

目标检测的训练策略

在目标检测竞赛中,训练策略的优化是提高模型性能的关键。常用的训练策略包括数据预处理、数据增强、超参数调节、损失函数设计、正负样本采样、模型初始化和训练技巧等。以下是一些常见的训练策略: 1. 数据预处理与数据增强 数据归一化:对输…...

【JavaSE】小练习 —— 图书管理系统

【JavaSE】JavaSE小练习 —— 图书管理系统 一、系统功能二、涉及的知识点三、业务逻辑四、代码实现4.1 book 包4.2 user 包4.3 Main 类4.4 完善管理员菜单和普通用户菜单4.5 接着4.4的管理员菜单和普通用户菜单,进行操作选择(1查找图书、2借阅图书.....…...

代码随想录Day29

Day29 动态规划part02 LeetCode 62.不同路径 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” &…...

Python入门(3):语句

目录 1 基本语句 1.1 表达式语句 1.2 赋值语句 2 控制流语句 2.1 条件语句 2.2 循环语句 while循环: for循环: 2.3 流程控制语句 1. break语句:退出整个循环体 2. continue语句:只跳过本次循环,还会进…...

04_SQL概述及DDL

文章目录 一、关于SQL1.1、SQL概述1.2、SQL分类 二、数据库操作2.1、查看数据库2.2、切换数据库2.3、查询当前使用的数据库2.4、创建数据库2.5、查看数据库创建信息2.6、修改数据库2.7、删除数据库 三、表的操作3.1、数据类型3.1.1、数值类型3.1.2、字符串类型3.1.3、日期时间类…...

如何调整yarn.nodemanager.vmem-pmem-ratio参数?

调整 yarn.nodemanager.vmem - pmem - ratio 参数,可参考以下步骤: 打开YARN配置文件 找到 yarn - site.xml 文件,该文件通常位于Hadoop配置目录中,例如 /etc/hadoop/conf 或 /opt/module/hadoop - 3.1.3/etc/hadoop 。 找到并修改…...

【质量管理】质量的系统是预防,那以预防为主的质量管理系统包括什么?

“质量的系统是预防”这是克劳士比零缺陷管理四项基本原则的第二项基本原则。什么样的系统才是一个以预防为主的质量管理系统呢? 一个以预防为主的质量系统,必须包括三大方面:质量检验系统、质量保证系统、质量管理系统。 举个例子&#xff1…...

JavaScript 事件流与事件委托

目录 一、事件流、事件捕获与事件冒泡 1. 事件流(Event Flow) 2. 事件捕获(Event Capturing) 3. 事件冒泡(Event Bubbling) 4. 阻止事件冒泡 5. 事件解绑 6. 实际应用场景 二、事件委托 1. 什么是…...

RAG 优化 Embedding 模型或调整检索策略

在 RAG(Retrieval-Augmented Generation)系统中,优化 Embedding 模型和调整检索策略是提升检索质量的核心手段。以下是系统化的优化方法和实践指南: 一、优化 Embedding 模型 Embedding 模型的质量直接决定检索的召回率(Recall)和准确率(Precision)。优化方向包括: …...

Sentinel[超详细讲解]-3

主要讲解🚀 - 基于QPS/并发数的流量控制 1、流控规则 流量控制(Flow Control)用于限制某个资源的访问频率,防止系统被瞬时的流量高峰冲垮。流量控制规则可以针对不同的资源进行配置,例如接口、方法、类等。 流量规则的…...

vue3使用i18n$t()无法获取数组和对象

今天在使用i18n进行国际化时,定义了数组和对象节点,但是用$t()无法获取,只能返回字符串值,查询相关材料,解决方案如下: 使用新的api替换即可,$t > $tm 参考文章(深表谢意):vue -…...

机器学习的一百个概念(5)数据增强

前言 本文隶属于专栏《机器学习的一百个概念》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见[《机器学习的一百个概念》 ima 知识库 知识库广场搜索&…...

(Kotlin)Android 高效底部导航方案:基于预定义 Menu 和 ViewPager2 的 Fragment 动态绑定实现

支持预定义 Menu 并绑定 Fragment,同时保留动态添加 Tab 的能力 BottomTabHelper.kt package smartconnection.com.smartconnect.home.utilimport android.content.Context import android.util.SparseArray import androidx.annotation.IdRes import androidx.fra…...

零基础入门多媒体音频(4)-GENIVIProjectAudioManager总览

GENIVI Project的AudioManager是一个专门设计用于汽车信息娱乐系统的音频管理解决方案。它负责管理和控制车辆内的音频源和音频路径,确保各种音频信号能够正确、高效地在车辆的音响系统中传输和播放。 AudioManager的核心功能包括音频源的管理、音频路径的控制以及音…...

DeepSeek协助优化-GTX750Ti文物显卡0.65秒卷完400MB float 音频512阶时域FIR

文章目录 1. 学习目的2. 阶段成果2.1 NVVP 性能探查2.2 测试编译环境2.3 测试样例 3 学习过程3.1 提问DeepSeek3.2 最终代码 4. 体会 1. 学习目的 最近在学习cuda,准备给我的taskBus SDR添加CUDA的模块支持,以便可以用PC机压榨山寨 B210那56M的带宽。 因…...

Embedding原理

Embedding(嵌入)是将离散符号(如单词)映射到连续向量空间的核心技术,其本质是语义的数学化表示。以下是其核心原理详解: 一、基础概念图解 graph LRA[单词猫] --> B[索引5] --> C[向量[0.2, -1.3,…...

Spark,配置hadoop集群1

配置运行任务的历史服务器 1.配置mapred-site.xml 在hadoop的安装目录下&#xff0c;打开mapred-site.xml&#xff0c;并在该文件里面增加如下两条配置。 eg我的是在hadoop199上 <!-- 历史服务器端地址 --> <property><name>mapreduce.jobhistory.address…...

人工智能大模型-数据预处理-文本数据预处理-图像数据预处理

文本数据预处理 大模型常用的文本数据类型 通用文本数据&#xff1a;网页、对话和图书资料等专用文本数据&#xff1a;多语言文本、科学文本、代码和指令等 构造方法 指令数据&#xff1a;指令(instruction)、输入(input)、输出(output)3部分组成 如果在instruction部分已…...

怎么使用嵌套虚拟环境实现项目部署之virtualenv嵌套conda绕开安装环境检测实现.venv部署facefusion

#工作记录 一、前言 嵌套虚拟环境本来是不建议的一种方法&#xff0c;这种嵌套虚拟环境的使用有一定特殊性&#xff0c;但在一些特别的使用场景下&#xff0c;嵌套虚拟环境的使用非常有用。 二、嵌套虚拟环境&#xff1a; &#xff08;一&#xff09;conda嵌套virtualenv 该…...

ansible介绍以及安装

一.ansible介绍 实现对IT基础设施的批量管控&#xff0c;加快效率&#xff0c;节省工作时间。 1.ansible特性 1.基于python开发&#xff0c;开源&#xff0c; 2.基于ssh协议工作。只需要确保ansible机器&#xff0c;与被控制机器能连通就好了&#xff0c; 3.no server 无…...

GPT-4o图像生成功能:技术突破与隐忧并存

2025年3月25日&#xff0c;OpenAI正式推出GPT-4o原生图像生成功能&#xff0c;宣称其实现了“文本到图像的终极跨越”。然而&#xff0c;这一被市场追捧的技术在短短72小时内便因用户需求过载触发限流&#xff0c;暴露出算力瓶颈与商业化矛盾的尖锐性。这场技术狂欢的背后&…...

Java 时间处理:轻松掌握 java.time 包

前言 在 Java 开发中&#xff0c;日期和时间处理一直是令人头疼的问题。传统的 Date​ 和 Calendar​ 类不仅复杂&#xff0c;还充满了线程安全和时区处理的坑。Java 8 引入的 java.time​ 包彻底改变了这一局面&#xff0c;带来了现代化、直观且功能强大的日期时间 API。 本…...

Vue项目中Vuex在util引入,断点存在default

示例代码 // src/store/index.js import Vue from vue; import Vuex from vuex; ……Vue.use(Vuex); export default new Vuex.Store({…… })// src/utils/index.js import store from /store // 导入默认导出的 store export async function getDict() {store.state.userInf…...

2025宁德时代测评Verify考什么?网申测评如何通过SHL笔试|附真题线上笔试考点、高分攻略、CATL新能源科技SHL测评宁德社招题目、面试攻略、求职建议

——职小豚 带你拆解新能源巨头招聘密码 一、宁德时代&#xff1a;新能源赛道「超级独角兽」 作为全球动力电池龙头&#xff0c;宁德时代&#xff08;CATL&#xff09;的江湖地位无需多言&#xff1a; 技术硬实力&#xff1a;麒麟电池、钠离子电池、无钴电池等黑科技加持&…...

谈谈常见的数据结构(如数组、链表、栈、队列、哈希表、树、图)及其应用场景

一、数组&#xff08;Array&#xff09; 定义&#xff1a;连续存储相同类型数据的线性结构&#xff0c;支持随机访问。 应用场景&#xff1a;列表渲染、数据缓存、算法处理 代码示例&#xff1a; // 数组基本操作 const arr [1, 2, 3, 4]; arr.push(5); // O(1) 平均时间复杂…...

【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的 AOP:实现日志记录与性能监控

答应我&#xff0c;这篇一定要看到最后~&#xff01; <前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&a…...

【算法】快速幂

一、概念 快速幂是一种高效的指数运算&#xff0c;当指数范围过大时&#xff0c;通过位运算能够减少大量的计算次数 对于&#xff0c;我们通过将指数b转化为二进制数&#xff0c;就可以将分解为许多的&#xff08;其中i是指数b中对应位为1的位数&#xff09; 例如&#xff0…...

使用卷积神经网络识别MNIST数据集

卷积神经网络 卷积神经网络本质是共享权重稀疏链接的全连接网络 编写步骤 构建一个神经网络&#xff0c;步骤是几乎不变的&#xff0c;大概有以下几步 准备数据集 #更高级的CNN网络 import torch import torch.nn as nn import torch.nn.functional as F import torchvisi…...

JavaScript 中数组增删改查

在 JavaScript 中,数组是一种用来存储不同类型的值的数据结构。 增加数组元素: let arr = [1, 2, 3];// 在数组末尾添加元素 arr.push(4); console.log(arr); // [1, 2, 3, 4]// 在数组开头添加元素 arr.unshift(0); console.log(arr); // [0, 1, 2, 3, 4]// 在指定位置插…...

【Kettle安装】Kettle安装过程, 电脑已安装java23,安装Kettle 出现报错:尝试启动 Java 虚拟机(JVM)时失败解决方法

Kettle安装 Kettle 通常指的是 Pentaho Data Integration (PDI)&#xff0c;这是一款开源的 ETL&#xff08;Extract, Transform, Load&#xff09;工具&#xff0c;用于数据集成、数据清洗和数据分析。它的核心工具名为 Spoon&#xff0c;但整个项目常被直接称为 Kettle 数据…...

Spring笔记04-注解注入

1.导入包 <dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>5.2.7.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId>…...

[动规19] 最大子数组和

目录 1. 题意 2. 思路 2.1. 状态表示 2.2. 状态转移方程 2.3. 初始化 2.4. 填表顺序 2.5. 返回值 3. 编码 1. 题意 链接: 53. 最大子数组和 - 力扣&#xff08;LeetCode&#xff09; 题目 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&…...

2024年零知识证明(ZK)研究进展

Sumcheck 整个领域正在转向更多地依赖于 Sumcheck Protocol Sumcheck是用于验证多项式承诺的协议&#xff0c;常用于零知识证明&#xff08;ZKP&#xff09;中&#xff0c;尤其是在可验证计算和扩展性上。它的主要目的是通过对多项式进行分段检查&#xff0c;从而保证某个多项…...

1. 两数之和

leetcode Hot 100系列 文章目录 一、核心操作二、外层配合操作三、核心模式代码总结 一、核心操作 使用map&#xff0c;key作为数值&#xff0c;value作为下标先寻找对应的目标值&#xff0c;如果找到了则直接返回&#xff0c;否则在往map中插入 提示&#xff1a;小白个人理…...

【电动汽车再生制动控制技术(万字长文,图文并茂)】

电动汽车再生制动控制系统概述 电动汽车再生制动的基本原理是:通过具有可逆作用的电动机/发电机来实现电动汽车动能和电能的转化。在汽车减速或制动时,可逆电机以发电机形式工作,汽车行驶的动能带动发电机将汽车动能转化为电能并储存在储能器(蓄电池或超级电容器)中;在汽车…...

python实现股票数据可视化

最近在做一个涉及到股票数据清洗及预测的项目&#xff0c;项目中需要用到可视化股票数据这一功能&#xff0c;这里我与大家分享一下股票数据可视化的一些基本方法。 股票数据获取 目前&#xff0c;我已知的使用python来获取股票数据方式有以下三种: 爬虫获取&#xff0c;实现…...

2025年湖南建筑安全员 C1考证刷题题库

湖南建筑安全员 C1 类的练习题&#xff1a; 1、塔机的拆装作业必须在白天进行&#xff0c;不得在&#xff08; &#xff09;情况下进行。 A. 夜间 B. 大风 C. 浓雾 D. 以上都是 答案&#xff1a;D 2、采用钢筋混凝土灌注桩时&#xff0c;开挖标准是桩身混凝土达到&#…...

【Feign】⭐️使用 openFeign 时传递 MultipartFile 类型的参数参考

&#x1f4a5;&#x1f4a5;✈️✈️欢迎阅读本文章❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;本篇文章阅读大约耗时三分钟。 ⛳️motto&#xff1a;不积跬步、无以千里 &#x1f4cb;&#x1f4cb;&#x1f4cb;本文目录如下&#xff1a;&#x1f381;&#x1f381;&a…...