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

11 python 数据容器-字符串

一、什么是数据容器

举个例子,一个办公室里有一群牛马,他们都有自己的名字,如果没有容器的概念,那么我们用变量来存放他们的名字,比如:
name1 = "翠花"
name2 = "玛丽"
name3 = "二狗子"
name4 = "疯子"
name5 = "麻雀花"
...

有几个人就需要几个变量来存储了,那么我们能有能有个好办法,不用那么繁琐呢,反正都是牛马,那我们搞个房间把牛马都放起来,比如这样:

牛马群 = ["翠花", "玛丽", "二狗子", "疯子", "麻雀花"]

只要一个变量就搞定。这种类似的变量就叫数据容器

 python中的数据容器:一种可以容纳多份数据的数据类型,容纳的每一份数据成为一个元素,每一个元素,可以是任意的数据,比如字符串、数字、布尔等。

python中常用的数据类型:str(字符串)、list(列表)、tuple(元组)、set(集合)、dict(字典)

二、字符串定义

在 Python 的编程世界里,字符串是处理文本的得力助手,就像办公室里的打印机,能把各种文字信息整理得井井有条。对于刚接触编程的 “办公室牛马” 们来说,掌握字符串的用法,能让日常工作中的文本处理变得高效又轻松。

字符串是字符的容器,一个字符串可以存放任意数量的字符。
比如:helloworld

三、字符串的创建

在办公室写文件时,我们会用各种符号来标记内容,在 Python 里创建字符串也是一样。
用单引号 ' 或双引号 " 把文本包起来,就创建了一个字符串。比如,要记录今天的工作任务:

task1 = '整理销售数据报表'
task2 = "撰写项目进度报告"

如果字符串里本身就有单引号,为了避免混乱,就用双引号来创建,反过来也可以。像这样: 

note = "领导说:'下午开会'"
note = '领导说:"下午开会"'

四、字符串的下标(索引)

字符串里的元素,也就是一个个字符,访问的方式:
从前向后访问,从0开始,索引从 0 开始,第一个字符的索引是 0,第二个是 1,依次类推
从后向前访问,从-1开始,从字符串末尾开始数,最后一个字符的索引是 -1 ,倒数第二个是 -2

通过下表获取特定位置的字符

task = '核对财务数据'
print(task[0])  # 输出:核
print(task[-1])  # 输出:据

要是想查看一段内容,就用切片。切片就像从一长段文字里选中一部分。用方括号 [] ,写成 变量[头下标:尾下标] 的形式,它会截取从 头下标 开始(包含这个字符)到 尾下标 结束(不包含这个字符)的内容。例如: 

text = '会议在下午3点举行'
print(text[3:6])  # 输出:下午3

五、切片(可用于字符串、列表、元组)

1、序列

在将切片之前,我们先来了解一下什么叫序列
序列就是指:内容连续、有序,可以使用下标索引的一类数据容器,字符串、列表、元组都属于序列

2、序列的常用操作:切片

切片就是从一个序列中取出子序列。因为这里讲的是字符串,会用字符串做例子,后续的列表、元组也是同样的操作。
语法:容器[头下标:尾下标:步长]

头下标:表示从何处开始,可以留空,留空视作从头开始

尾下标(不含):表示何处结束,可以留空,留空视作截取到结尾

步长表示,依次取元素的间隔
步长1表示,一个个取元素
步长2表示,每次跳过1个元素取
步长N表示,每次跳过N-1个元素取
步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)

2.1 正向切片

假如你在办公室收到一封邮件,主题是 email_subject = "重要项目进度汇报会议通知" ,现在你只想获取 “项目进度汇报” 这部分内容,就可以用正向切片来实现: 

email_subject = "重要项目进度汇报会议通知"
project_report = email_subject[2:8]
print(project_report) 

在这个例子中,email_subject 是字符串变量,2 是头下标,8 是尾下标。从索引 2 的字符 “项” 开始,到索引 8 之前的字符 “报” 结束,成功截取到了想要的内容。

2.2 反向切片 

还是这个邮件主题,如果你想获取 “会议通知” 这部分内容,用反向切片更方便:

email_subject = "重要项目进度汇报会议通知"
meeting_notice = email_subject[-4:]
print(meeting_notice) 
# 会议通知

这里 [-4:] 表示从倒数第 4 个字符 “会” 开始,一直到字符串末尾,这样就获取到了 “会议通知”。如果想获取从倒数第 6 个字符到倒数第 3 个字符的内容(不包含倒数第 3 个字符),可以这样写:

email_subject = "重要项目进度汇报会议通知"
partial_content = email_subject[-6:-3]
print(partial_content) 
# 汇报会

2.3 切片步长

 办公室里有个同事的工号 employee_id = "A1B2C3D4" ,你想每隔一个字符取一个,得到 ABCD,可以这样做:

employee_id = "A1B2C3D4"
extracted_id = employee_id[::2]
print(extracted_id) 
# ABCD

 如果想反向每隔一个字符取一个,得到 4321,可以这样:

employee_id = "A1B2C3D4"
reversed_extracted_id = employee_id[-1::-2]
print(reversed_extracted_id) 
# 4D2B

2.4 切片的实际应用

 在整理客户名单时,客户姓名都存放在字符串里,格式是 last_name + first_name ,现在要把姓和名分开。假设客户姓名是 customer_name = "张 三" 

customer_name = "张 三"
last_name = customer_name[:1]
first_name = customer_name[2:]
print(f"姓:{last_name},名:{first_name}") 
# 姓:张,名:三

 五、更新字符串

虽然字符串一旦创建就不能直接修改,但我们可以通过 “拼接” 的方式达到类似更新的效果。比如,原本任务是 “写报告”,现在要改成 “写详细报告”: 

old_task = '写报告'
new_task = old_task[:1] + '详细' + old_task[1:]
print(new_task)  # 输出:写详细报告

六、转义字符

在办公室聊天时,有些特殊符号有特别的意思。在字符串里也一样,当我们想用一些特殊字符时,就要用反斜杠 \ 来 “转义”。

  • \n 是换行符,让文字换行。就像在文档里按了回车键:
    message = "第一行\n第二行"
    print(message)
    # 第一行
    # 第二行
  • \t 是制表符,用来对齐内容,跟按 Tab 键效果差不多
    print("姓名\t年龄\n小明\t25")
    # 姓名	年龄
    # 小明	25
  • \\ 表示一个反斜杠,\' 和 \" 分别表示单引号和双引号。比如:
    print('他说:\'今天加班\'')
    # 他说:'今天加班'

七、字符串运算符 

Python 给字符串准备了几个很有用的运算符:

连接运算符 +

可以把两个字符串连在一起,就像把两张纸粘起来。例如:

greeting = "你好," + "同事"
print(greeting)  # 输出:你好,同事

重复运算符 *

能重复输出字符串。要是想表达很生气,就可以用这个:

print("烦死了!" * 3)
# 烦死了!烦死了!烦死了!

成员运算符 in 和 not in

用来检查某个字符或一小段字符串在不在另一个字符串里。比如,看看任务里有没有 “紧急” 这个词:

task = "完成紧急项目"
print("紧急" in task)  # 输出:True
print("重要" not in task)  # 输出:True

八、字符串格式化

在写邮件或者报告时,经常要把一些信息填到固定的格式里。在 Python 里,字符串格式化就能搞定这个。

格式化符号

用 % 来格式化,这是比较传统的方法。比如,要在邮件里写自己的信息:

name = "小李"
age = 28
print("我叫%s,今年%d岁,负责%s工作。" % (name, age, "市场推广"))
# 我叫小李,今年28岁,负责市场推广工作。

常见的格式化符号有:

  • %s:用来格式化字符串。
  • %d:格式化整数。
  • %f:格式化小数。

str.format() 方法

从 Python2.6 开始有的新方法,更灵活好用。还是上面的例子:

name = "小李"
age = 28
print("我叫{}, 今年{}岁,负责{}工作。".format(name, age, "市场推广"))
# 我叫小李,今年28岁,负责市场推广工作。

还能指定顺序和用关键字: 

print("{0}喜欢{1},{1}很有趣!".format("小王", "编程"))
print("{name}喜欢{hobby},{hobby}很有趣!".format(name="小张", hobby="画画"))
# 小王喜欢编程,编程很有趣!
# 小张喜欢画画,画画很有趣!

f-string方法:

Python3.6 之后出现的,以 f 开头,大括号 {} 里放变量或表达式,会自动计算并替换。例如:

project = "机器人研发"
print(f"正在进行{project}项目")
# 正在进行机器人研发项目

在 Python3.8 里,还能用 = 显示表达式和结果: 

x = 5
print(f"{x + 2 = }")  # 输出:x + 2 = 7

九、三引号

 有时候写报告,内容很多,要跨好几行。

在 Python 里,三引号(''' 或 """)就能搞定这种情况。它可以让字符串跨多行,里面还能有换行符、制表符这些特殊字符。比如写个会议纪要:

meeting_minutes = """会议主题:项目进度汇报
会议时间:下午2点
参会人员:各部门负责人会议内容:
1. 各部门汇报项目进展。
2. 讨论遇到的问题及解决方案。
"""
print(meeting_minutes)

如前面介绍过的,三引号也用在注释和函数文档说明里 

十、字符串内建函数

Python 给字符串准备了好多 “小工具”,也就是内建函数,能帮我们处理各种文本问题。

查找与统计

  • count():统计某个子字符串出现的次数。
    比如统计报告里 “问题” 出现了几次:

    report = "项目中存在一些问题,问题还需进一步探讨"
    print(report.count("问题"))  # 输出:2
  • find() 和 rfind():找子字符串第一次出现的位置,find() 从左往右找,rfind() 从右往左找,找不到就返回 -1 。

  • index() 和 rindex():和上面两个类似,但找不到时会报错。

判断相关

  • isalnum():检查字符串是不是由字母和数字组成。比如检查员工编号:

    id_number = "A12345"
    print(id_number.isalnum())  # 输出:True
  • isalpha():判断是不是全是字母或中文字。

  • isdigit():看是不是只有数字。

  • 还有 islower()isupper()isspace() 等,分别用来判断大小写、是不是空白字符。

转换操作:

  • upper() 和 lower():把字符串里的字母变成大写或小写。比如把邮件标题全部大写

    title = "hello, guy"
    print(title.upper())  # 输出:HELLO, GUY
  • title():把字符串变成标题格式,每个单词首字母大写。

  • swapcase():大小写互换。

其他常用函数: 

  • len():返回字符串的长度,就像数文档有多少字:

    text = "今天的工作完成了"
    print(len(text))  # 输出:8
  • strip()lstrip() 和 rstrip():分别用来去掉字符串两边、左边、右边的空格或指定字符。

  • replace():替换字符串里的内容。比如把 “完成” 换成 “搞定”:

    task = "完成任务"
    new_task = task.replace("完成", "搞定")
    print(new_task)  # 输出:搞定任务
  • split():用指定的字符把字符串切开,变成一个列表。比如按逗号拆分任务列表:

    tasks = "任务1,任务2,任务3"
    task_list = tasks.split(",")
    print(task_list)  # 输出:['任务1', '任务2', '任务3']

相关文章:

11 python 数据容器-字符串

一、什么是数据容器 举个例子,一个办公室里有一群牛马,他们都有自己的名字,如果没有容器的概念,那么我们用变量来存放他们的名字,比如: name1 "翠花" name2 "玛丽" name3 "二…...

2025.3.20总结

阅读:《时间贫穷》第二章,里面讲到,运动,多行善事,体验自然,都会增强自我效能感,是对抗时间焦虑的强有力的方式。 花时间运动是值得的,公司每周三都是运动周,把运动视作…...

鸿蒙NEXT开发问题大全(不断更新中.....)

目录 问题1:鸿蒙NEXT获取华为手机的udid ​问题2:[Fail]ExecuteCommand need connect-key? 问题3:测试时如何安装app包 问题1:鸿蒙NEXT开发获取华为手机的udid hdc -t "设备的序列号" shell bm get --udid 问题2&…...

【北京迅为】iTOP-RK3568开发板OpenHarmony系统南向驱动开发UART接口运作机制

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…...

大模型在冠心病风险预测及临床方案制定中的应用研究

目录 一、引言 1.1 研究背景与目的 1.2 国内外研究现状 1.3 研究方法与创新点 二、大模型预测冠心病风险原理与方法 2.1 数据收集与预处理 2.1.1 数据来源 2.1.2 数据清洗与整理 2.2 特征工程 2.2.1 特征提取 2.2.2 特征选择与优化 2.3 模型选择与训练 2.3.1 常用…...

【从零开始:如何用Vue3打造响应式个人博客网站】

前言 在前端开发领域,Vue.js 是一个非常流行且强大的框架。本文将详细介绍如何使用 Vue3 构建一个完整的响应式个人博客网站。无论你是初学者还是有一定经验的开发者,本文都将为你提供详细的步骤和代码示例。 1. 环境搭建 首先,确保你已经安…...

【vulhub/wordpress靶场】------获取webshell

1.进入靶场环境: 输入:cd / vulhub / wordpress / pwnscriptum 修改版本号: vim docker-compose.yml version: 3 保存退出 开启靶场环境: docker - compose up - d 开启成功,docker ps查看端口 靶场环境80…...

ngx_http_conf_ctx_t

定义在 src/http/ngx_http_config.h typedef struct {void **main_conf;void **srv_conf;void **loc_conf; } ngx_http_conf_ctx_t; ngx_http_conf_ctx_t 是 Nginx 中用于管理 HTTP 配置上下文的核心结构体,其设计体现了 Nginx 多级配置&…...

大模型+知识图谱:赋能知识智能新升级

在大模型(Large Language Model, LLM)飞速发展的今天,如何把传统行业中沉淀多年的大量结构化与非结构化数据真正“用起来”,正成为推动智能化转型的关键一步。 找得到,看得懂,为何很难? 以制造…...

python学智能算法(八)|决策树

【1】引言 前序学习进程中,已经对KNN邻近算法有了探索,相关文章链接为: python学智能算法(七)|KNN邻近算法-CSDN博客 但KNN邻近算法有一个特点是:它在分类的时候,不能知晓每个类别内事物的具…...

压力测试实战指南:JMeter 5.x深度解析与QPS/TPS性能优化

一、压力测试基础概念 1.1 什么是压力测试? 定义:模拟极端负载场景验证系统性能极限 目的:发现性能瓶颈、评估系统可靠性、验证容错能力 常见类型:负载测试、压力测试、稳定性测试、峰值测试 1.2 核心性能指标解析 1.2.1 QP…...

鸿蒙NEXT项目实战-百得知识库04

代码仓地址,大家记得点个star IbestKnowTeach: 百得知识库基于鸿蒙NEXT稳定版实现的一款企业级开发项目案例。 本案例涉及到多个鸿蒙相关技术知识点: 1、布局 2、配置文件 3、组件的封装和使用 4、路由的使用 5、请求响应拦截器的封装 6、位置服务 7、三…...

Spring Boot Actuator 自定义健康检查(附Demo)

目录 前言1. Demo2. 拓展 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF Spring Boot 的 actuator 提供了应用监控的功能,其中健康检查(Health Check)是一个重要的部分&…...

Flutter小白零基础入门到高级项目实战全集

Flutter零基础入门到高级项目实战全集内容如下: Dart入门基础教程16讲、Null safety 、late 关键字、空类型声明符?、非空断言!、required 、Flutter入门基础、Flutter瀑布流布局、Flutter动画、Flutter异步流、GlobalKey 、Flutter国际化、…...

TCP 协议

文章目录 TCP 协议简介数据包格式TCP的特性连接机制确认与重传缓冲机制全双工通信流量控制差错控制拥塞控制 端口号三次握手数据传输四次挥手抓包参考 本文为笔者学习以太网对网上资料归纳整理所做的笔记,文末均附有参考链接,如侵权,请联系删…...

NO.51十六届蓝桥杯备战|堆算法题|第k小|除2|最小函数值|序列合并|舞蹈课(C++)

P3378 【模板】堆 - 洛谷 #include <bits/stdc.h> using namespace std;const int N 1e6 10; int n; int heap[N];void up(int child) {int parent child / 2;while (parent > 1 && heap[child] < heap[parent]){swap(heap[child], heap[parent]);chil…...

【QA】观察者模式在QT有哪些应用?

1. 信号与槽机制 Qt的**信号与槽&#xff08;Signals & Slots&#xff09;**是观察者模式的典型实现&#xff0c;通过元对象系统&#xff08;Meta-Object System&#xff09;实现松耦合通信。 核心特点&#xff1a; 类型安全&#xff1a;编译时检查参数匹配跨线程支持&…...

coze ai assistant Task5

没想到coze的组队学习这么快就过去了&#xff0c;我也从一个不懂coze的小白变成了一个能简单尝试小程序的懵懂小白。虽然几次学习并不能掌握很多的技能&#xff0c;但也让我知道coze的无限可能&#xff0c;组队结束后我会继续努力学习&#xff0c;做更多使自己偷懒的小工具~ 需…...

MATLAB神经网络优化1000个案例算法汇总

【2025最新版】MATLAB神经网络优化1000个案例算法汇总(长期更新版) 本文聚焦神经网络、优化算法&#xff0c;神经网络改进&#xff0c;优化算法改进&#xff0c;优化算法优化神经网络权重、超参数等&#xff0c;现在只需订阅即可拥有&#xff0c;简直是人工智能初学者的天堂。…...

Android Coil3 Fetcher preload批量Bitmap拼接扁平宽图,Kotlin

Android Coil3 Fetcher preload批量Bitmap拼接扁平宽图&#xff0c;Kotlin 在这一篇文章基础上改进&#xff1a; Android Coil3阶梯preload批量Bitmap拼接扁平宽图&#xff0c;Kotlin-CSDN博客文章浏览阅读854次&#xff0c;点赞18次&#xff0c;收藏5次。遗留问题&#xff0c…...

Ubuntu 24 常用命令方法

文章目录 环境说明1、账号管理1.1、启用 root 2、包管理工具 apt & dpkg2.1、apt 简介 & 阿里源配置2.2、dpkg 简介2.3、apt 和 dpkg 两者之间的关系2.4、常用命令 3、启用 ssh 服务4、防火墙5、开启远程登录6、关闭交换分区7、build-essential&#xff08;编译和开发软…...

uniapp自身bug | uniapp+vue3打包后 index.html无法直接运行

前提&#xff1a; 已经修改了基础路径 打开打包文件&#xff0c;双击运行index.html报错&#xff0c;无法访问页面 uniappvue2项目是可以正常运行的 vue3修改publicPath: ./后&#xff0c;也是可以正常访问打包文件中的index.html 点进控制台提供的链接&#xff1a;https:/…...

go~协程阻塞分析

错误示例 type chanData struct {result stringerror error }func Biz1() {t := time.NewTimer(time.Second * 10)ctx := context.Background()ch := make(chan chanData)go doChan(ctx, ch)fmt.Println("Biz1 begin")for {select {case <-t.C:fmt.Println(&quo…...

【机器学习】什么是逻辑回归

什么是逻辑回归 一、摘要二、逻辑回归算法简介三、sigmoid函数实现四、思考题 一、摘要 本文主要讲述了逻辑回归算法的基本原理和应用。首先介绍了逻辑回归在机器学习领域的重要地位&#xff0c;然后解释了其名称的由来和如何利用样本特征和概率之间的关系进行分类。通过与线性…...

postman小白教程(从入门到实战,详细教学)

目录 1. postman介绍 2. 下载地址 3. 安装流程 4. 注册postman账号 ① 打开postman&#xff0c;点击【创建账号】或【登录】&#xff0c;会跳转到浏览器 ② 若已有账号可以直接登录&#xff1b;若无账号&#xff0c;则创建新账号 ③ 若登录成功会弹出提示框&#xff0c;…...

4.1-4 SadTalker数字人 语音和嘴唇对应的方案

前言&#xff1a; SadTalker是一个强大的数字人相关的RA/SD插件。它本身是一个非常独立的产品。你只需要提供一段视频&#xff0c;一段文字&#xff0c;简单的配置&#xff0c;在RA/SD中简单的生成即可。 视频中人物的嘴唇很好的应对了你要发声的文字内容。效果很赞。仔细学习…...

Linux CentOS7 安装 ffmpeg教程

官网&#xff1a;FFmpeg 操作 先用uname -a 查看内核版本&#xff0c;如果是 3.2.0或者以上就可以按照此办法来安装 cd /tmp wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz# 2. 解压 tar xvf ffmpeg-release-amd64-static.tar.xz# 3. 将…...

docker desktop 集成WSL Ubuntu22.04

Windows docker desktop 设置WSL ubuntu 22.04启用与其他发行版的集成 Windows docker desktop 安装参考 wsl ubuntu 22.04 查看我宿主机的docker desktop 容器全部的信息 wsl -d Ubuntu-22.04 -u root...

【AI】AI编程助手:Cursor、Codeium、GitHub Copilot、Roo Cline、Tabnine

文章目录 一、基本特性对比二、收费标准三、私有部署能力1、Tabnine2、Roo Code 三、代码补全与自然语言生成代码四、安装独立的IDE安装插件安装 五、基本使用&#xff08;一&#xff09;Cursor&#xff08;二&#xff09;GitHub Copilot1、获取代码建议2.聊天1&#xff09;上下…...

Android audio(8)-native音频服务的启动与协作(audiopolicyservice和audioflinger)

音频策略的构建 1、概述 2、AudiopolicyService 2.1 任务 2.2 启动流程 2.2.1 加载audio_policy.conf&#xff08;xml&#xff09;配置文件 2.2.2 初始化各种音频流对应的音量调节点 2.2.3 加载audio policy硬件抽象库 2.2.4设置输出设备 ps:audiopatch流程简介 2.2.5打开输出设…...

光纤通道 VS iSCSI:存储架构选型的关键抉择

光纤通道 VS iSCSI:存储架构选型的关键抉择 在企业运维中,存储网络的选择可以说是至关重要的一环。尤其是光纤通道(Fibre Channel,简称FC)和iSCSI存储,这两种主流解决方案各有千秋,常常让运维工程师在选型时感到纠结。为了帮大家理清头绪,我们今天就从架构、性能、成本…...

HarmonyOS Next中的弹出框使用

HarmonyOS Next弹出框概述及分类 弹出框是一种模态窗口&#xff0c;通常用于在保持当前上下文环境的同时&#xff0c;临时展示用户需关注的信息或待处理的操作。用户需在模态弹出框内完成相关交互任务之后&#xff0c;才能退出模态模式。弹出框可以不与任何组件绑定&#xff0…...

Binder机制源码分析

Binder机制源码分析 一、前言 Binder是Android系统中最重要的进程间通信机制&#xff0c;它不仅是应用程序和系统服务通信的基础&#xff0c;也是Android系统安全机制的重要组成部分。本文将深入分析Binder机制的实现原理&#xff0c;帮助读者理解Android系统的核心通信机制。…...

第5课 树莓派的Python IDE—Thonny

1. Thonny的特点 Thonny是一款面向初学者的Python IDE。它由爱沙尼亚的 Tartu 大学开发,其调试器是专为学习和教学编程而设计的。Thonny具有如下特点 易于上手。Thonny 内置了 Python 3.7,因此只需要一个简单的安装程序,你就可以开始学习编程了(如有必要,您还可以使用单独…...

位运算题目:或运算的最小翻转次数

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;或运算的最小翻转次数 出处&#xff1a;1318. 或运算的最小翻转次数 难度 4 级 题目描述 要求 给定三个正整数 a \texttt{a} a、 b \texttt{b} b…...

Java 实现排序算法 TopK 问题

1. 低级排序 &#xff08;1&#xff09;冒泡排序&#xff08;Bubble Sort&#xff09; 思路&#xff1a; 每次从左到右冒泡&#xff0c;把最大的数推到最后。 public class BubbleSort {public static void bubbleSort(int[] arr) {int n arr.length;for (int i 0; i <…...

【JavaEE】网络编程socket

1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 亲爱的朋友们&#x1f44b;&#x1f44b;&#xff0c;这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章&#xff0c;请别吝啬你的点赞❤️❤️和收藏&#x1f4d6;&#x1f4d6;。如果你对我的…...

第J3周:DenseNet121算法实现01(Pytorch版)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 目标 具体实现 &#xff08;一&#xff09;环境 语言环境&#xff1a;Python 3.10 编 译 器: PyCharm 框 架: Pytorch &#xff08;二&#xff09;具体步骤…...

在Ubuntu20.04上交叉编译能在Windows上运行的Qt5应用

参考链接&#xff1a; https://blog.csdn.net/Interview_TC/article/details/146050419 https://bugreports.qt.io/browse/QTBUG-82592 重要设置 sudo update-alternatives --config x86_64-w64-mingw32-g 选择后缀带posix的&#xff0c;&#xff08;/usr/bin/x86_64-w64-min…...

C语言中,memmove和memcpy的区别?

文章目录 1. 内存重叠处理memcpy&#xff1a;memmove&#xff1a; 2. 性能差异总结 在C语言中&#xff0c;memmove和memcpy均用于内存块的复制&#xff0c;但关键区别在于对内存重叠的处理&#xff1a; 1. 内存重叠处理 memcpy&#xff1a; 假设源&#xff08;src&#xff0…...

小程序API —— 54 路由与通信 - 编程式导航

在小程序中实现页面的跳转&#xff0c;有两种方式&#xff1a; 声明式导航&#xff1a;navigator 组件编程式导航&#xff1a;使用小程序提供的 API 编程式导航 API 提供了五个常用的 API 方法&#xff1a; wx.navigateTo()&#xff1a;保留当前页面&#xff0c;跳转到应用内…...

2025 使用docker部署centos7容器并且需要centos7容器能通过ssh登录SSH 登录的CentOS7容器

以下是使用 Docker 部署可 SSH 登录的 CentOS7 容器的步骤&#xff1a; 1.创建 Dockerfile&#xff08;保存为 Dockerfile.centos7&#xff09;&#xff1a; vim Dockerfile.centos7 #复制如下内容 FROM centos:7# 备份原有的 yum 源配置文件 RUN mv /etc/yum.repos.d/CentO…...

docker安装向量数据库Milvus及可视化工具 Attu

前置条件 1.安装了docker 2.服务器网络正常&#xff0c;可以连接到容器下载地址 3.服务器磁盘空间正常&#xff0c;docker磁盘占用过大&#xff0c;请参考docker容量占用过大解决办法 一、下载yml文件 可在文章资源下载或者自行下载&#xff1a;下载yml 下载这个单机版本的…...

从模拟到现实:Sensodrive高精度力反馈技术赋能物流运输的高效与安全

在现代物流行业中&#xff0c;司机短缺、二氧化碳排放增加和利润空间紧张等问题日益凸显。为应对这些挑战&#xff0c;Sensodrive的SensoWheel和SensoPedals产品在自驾卡车中的应用&#xff0c;提供了更为高效的运输解决方案&#xff0c;有效缓解了这些问题。 Fernride公司利用…...

无需qt-creator,使用Trae从0到1生成qt的开发、构建、调试环境

一、安装 Qt 开发环境 确保已经安装了 Qt&#xff0c;没有安装的可以自己在网上搜索怎么安装&#xff0c;安装时可选择不安装qt creator&#xff0c;但是qt开发库和编译器要安装&#xff0c;这里我选择的编译器是MinGW&#xff0c; 安装好以后&#xff0c;记录下qt开发库和Min…...

整理和总结微信小程序的高频知识点

前言 近期萌生了一些想法&#xff0c;感觉可以做一个小程序作为产出。 但小程序做得比较少&#xff0c;因此边做边复习。整理和总结了一些高频知识点和大家一起分享。 一、模板和组件 1.1模板&#xff08;Template&#xff09; 优势 简单灵活&#xff1a;模板定义和使用都较…...

VMware主机换到高配电脑,高版本系统的问题

原来主机是i3 ,windows7系统&#xff0c;vmware 14.0,虚机系统是ubuntu 14.04。目标新机是i7 14700KF,windows11系统。原以为安装虚拟机&#xff0c;将磁盘文件&#xff0c;虚拟机配置文件拷贝过去可以直接用。 新目标主机先安装了vmware 15&#xff0c;运行原理虚机&#xff0…...

“锈化”Python:用Rust重塑Python生态的六大工具深度解析

前言&#xff1a;为何“锈化”Python&#xff1f; Python以其简洁的语法和强大的生态系统成为数据科学、Web开发和自动化领域的首选语言。然而&#xff0c;随着项目规模和性能需求的增长&#xff0c;Python的一些传统工具在速度、内存效率和安全性上面临瓶颈。近年来&#xff…...

6.3考研408数据结构中BFS与DFS的易错点及难点解析

一、广度优先算法&#xff08;BFS&#xff09;易错点 队列操作失误 未正确处理节点入队顺序&#xff08;如未按层序逐层扩展&#xff09;&#xff0c;导致结果混乱。在出队后未立即标记节点为已访问&#xff0c;可能引发重复访问&#xff08;尤其在存在环的图中&#xff09;。示…...

在Ubuntu上安装MEAN Stack的4个步骤

在Ubuntu上安装MEAN Stack的4个步骤为&#xff1a;1.安装MEAN&#xff1b;2.安装MongoDB&#xff1b;3.安装NodeJS&#xff0c;Git和NPM&#xff1b;4.安装剩余的依赖项。 什么是MEAN Stack&#xff1f; 平均堆栈一直在很大程度上升高为基于稳健的基于JavaScript的开发堆栈。…...