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

python学习记录16

字符串总结

python程序使用unicode编码,中文字符与英文字符都占一个字符,但英文字符只占一个字节,中文字符若按照utf-8格式编码占3个字节。

(1)字符串常用方法

1)大小写转化

string.upper()#将所有字母转换为大写

string.lower()#将所有字母转换为小写

2)字符串分割

string.split(sep='')#将字符串按照sep进行分割

3)字符串的检索

string.count('sub')#统计字符串中某个子串的出现次数

string.find(‘sub’)#查询字符串中是否有查询的子串,有则返回第一次出现子串的索引,没有则返回-1

string.index('sub')#与find类似,区别是若字符串无该子串,则程序报错

4)字符串判断

string.startswith('sub')#判断字符串是否以查询的子串为开头

string.endswith('sub')#判断字符串是否以查询的子串结尾

5)字符串替换

string.replace('sub1','sub2')#将字符串所有子串1替换为子串2

6)字符串显示

string.center(width,'fillchar')#在指定的范围内居中,可指定填充字符,默认为空格

7)字符串拼接

string.join(iterable)#将可迭代的对象组(列表、元组、字符串等)合为一个字符串,其中string为分隔符

8)去除字符串前后字符

string.strip('sub')#去除字符串中头部与尾部指定的字串

string.lstrip('sub')#去除字符串中头部指定的字串

string.rstrip('sub')#去除字符串中尾部指定的字串

(2)格式化字符串

1)使用占位符

"%+型"%(变量名,变量名……)其中()中的变量是一个元组类型的数据

2)f-string

(f'{变量名} {变量名,……}'

3)format

"模板字符串".format(变量,变量……)

(3)字符串编码与解码

1)字符串编码

string.encode(’编码格式‘,’错误处理‘)#编码格式默认utf-8,错误处理包括严格strict(遇到无法编码的字符直接报错)、忽略ignore(遇到无法编码的字符直接跳过)、替换replace(遇到无法编码的字符使用字符替换,默认是’?‘)

2)字符串解码

byte.decode('解码格式',’错误处理‘)#解码格式与编码格式必须一致

(4)数据验证

1)string.isdigit()#判断字符串是否全为阿拉伯数字

2)string.isnumeric()#判断字符串是否全为数字(包括罗马数字、中文的一二三四)

3)string.isalpha()#判断字符串是否全为字母或汉字

4)string.isalnum()#判断字符串是否全为数字或字母(包括中文字符)

5)string.islower()#判断字符串中的字母是否全为小写

6)string.isupper()#判断字符串中的字母是否全为大写

7)string.istitle()#判断字符串中的单词是否全为首字母大写

8)string.isspace()#判断字符串是否都为空白、转义字符\t\n等

(5)字符串去重

有三种方式

1)使用遍历

2)使用索引+遍历

3)使用集合+列表

(6)正则表达式

1)元字符

具有特殊意义的专用字符,例如^和$,用于表达匹配的开始与结束,此外还有:

. :用于匹配任一字符(除\n外)

\w:用于匹配数字、字母、下划线

\W:用于匹配数字、字母、下划线以外的其他字符

\s:用于匹配空白字符

\S:用于匹配空白字符以外的字符

\d:用于匹配任意十进制数

2)限定符

限定符是限定匹配的次数,限定符包括:

? :匹配前面的字符一次或0次

+ :匹配前面的字符一次或多次

* :匹配*前面的字符0次或多次

{n}:匹配前面的字符n次

{n,}:匹配前面的字符至少n次

{n,m}:匹配前面的字符至少n次,至多m次

3)区间字符

可以使用[]匹配[]中的字符,例如[\u4e00-\u9fa5]是匹配任意一个汉字

4)排除字符

使用[^]匹配不在[]中指定的字符

5)选择字符

用于匹配|左右的任意字符

6)转义字符

\,同转义字符

7)分组

改变限定符的作用

(7)re模块

re模块是python自带模块,无需要下载。模式字符前加r以排除转义字符防止报错。

1)re.match(pattern,string,flags=0)#从字符串开始的位置进行匹配,指match只在字符串的起始位置寻找而不找后面,若在起始位置找到了,结果为Match对象,否则结果为None

2)re.search(pattern,string,flags=0)#在整个字符串中搜索第一个匹配的值,如果匹配成功,则返回结果为match类型的数据,否则为None

3)re.findall(pattern,string,flags=0)#在整个字符串中搜索所有匹配正则表达式的值,结果是一个列表类型的数据

4)re.sub(pattern,repl,string,count,flags=0)#用于对字符串中指定子串的替换

5)re.split(pattern,string,maxsplit,flags=0)#与字符串的split方法功能相同,都是分隔字符串,split最后输出一个列表类型的数据

相关文章:

python学习记录16

字符串总结 python程序使用unicode编码,中文字符与英文字符都占一个字符,但英文字符只占一个字节,中文字符若按照utf-8格式编码占3个字节。 (1)字符串常用方法 1)大小写转化 string.upper()#将所有字母…...

AI 大模型在软件开发中的角色

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/402a907e12694df5a34f8f266385f3d2.png#pic_center> 🎓作者简介:全栈领域优质创作者 🌐个人主页:百锦再新空间代码工作室 📞工作室:新空间代…...

React中类组件和函数组件的理解和区别

react代码模块分为类组件和函数组件。 从语法和定义、内部状态管理、生命周期、性能、可读性和维护性、上下文、集成状态管理库等角度对比React中类组件和函数组件。 1、语法和定义 类组件: 使用 ES6 的类(class)语法定义的 React 组件。…...

Day62||prim算法精讲 |kruskal算法精讲

prim算法精讲 53. 寻宝(第七期模拟笔试) 题目描述 在世界的某个区域,有一些分散的神秘岛屿,每个岛屿上都有一种珍稀的资源或者宝藏。国王打算在这些岛屿上建公路,方便运输。 不同岛屿之间,路途距离不同&…...

upload-labs通关练习

目录 环境搭建 第一关 第二关 第三关 第四关 第五关 第六关 第七关 第八关 第九关 第十关 第十一关 第十二关 第十三关 第十四关 第十五关 第十六关 第十七关 第十八关 第十九关 第二十关 总结 环境搭建 upload-labs是一个使用php语言编写的&#xff0c…...

wordpress搭建主题可配置json

网站首页展示 在线访问链接 http://dahua.bloggo.chat/ 配置json文件 我使用的是argon主题,你需要先安装好主题,然后可以导入我的json文件一键配置。 需要json界面配置文件的,可以在评论区回复,看见评论我会私发给你。~...

RWKV-5/6 论文被 COLM 2024 收录

由 Bo PENG 和 RWKV 开源社区共同完成的 RWKV-5/6架构论文《Eagle and Finch: RWKV with Matrix-Valued States and Dynamic Recurrence》被顶级会议 COLM 2024 收录。 这是继 RWKV-4 架构论文《RWKV: Reinventing RNNs for the Transformer Era》被 EMNLP 2023 收录之后&…...

MinIO分片下载超大文件

一、前言 各位亲爱的们,之前介绍过了上传超大文件到MinIO: MinIO分片上传超大文件(纯服务端)MinIO分片上传超大文件(非纯服务端) 这里最后再补充一下从MinIO下载超大文件。 二、从MinIO分片下载大文件 …...

Vue3 -- 新组件【谁学谁真香系列6】

Teleport Teleport是什么?–Teleport是一种能够将我们的组件html结构移动到指定位置的技术。 父组件: <template><div calss="outer"><h2>我是App组件</h2><img src="https://z1.ax1x.com/2023/11/19/piNxLo4.jpg" alt=&qu…...

Openstack3--本地仓库搭建(ftp源搭建失败)

上传镜像 后面的ftp源做不了&#xff0c;请将下面的本地openstack源在控制节点和计算节点都配置 在控制节点上传&#xff0c;安装ftp并配置启动后再在计算节点配置 将openStack-train.iso文件通过MobaXterm远程连接软件上传至控制节点 /opt 目录下 挂载 进入 /opt 目录 创建…...

【初阶数据结构与算法】链表刷题之移除链表元素、反转链表、找中间节点、合并有序链表、链表的回文结构

文章目录 一、移除链表元素思路一思路二 二、合并两个有序链表思路&#xff1a;优化&#xff1a; 三、反转链表思路一思路二 四、链表的中间节点思路一思路二 五、综合应用之链表的回文结构思路一&#xff1a;思路二&#xff1a; 一、移除链表元素 题目链接&#xff1a;https:…...

【PGCCC】Postgresql Toast 原理

前言 上篇博客讲述了 postgresql 如何存储变长数据&#xff0c;它的应用主要是在 toast 。Toast 在存储大型数据时&#xff0c;会将它存储在单独的表中&#xff08;称为 toast 表&#xff09;。因为 postgresql 的 tuple&#xff08;行数据&#xff09;是存在在 Page 中的&…...

vue3使用element-plus,树组件el-tree增加引导线

vue3使用element-plus&#xff0c;树组件el-tree增加引导线 vue3项目element-plus&#xff0c;树组件el-tree增加引导线 element-plus组件库的el-tree样式 因为element的样式不满足当前的的需求&#xff0c;UI图&#xff0c;所以对el-tree进行增加了引导线 修改样式如下&am…...

AlphaFold3中文使用说明

目录 1. 在线网站用例1. 使用json输入预测蛋白结构 2. 本地命令行2.1 运行示例2.2 AF3输入输入格式JSON兼容性JSON最外层&#xff08;Top-level&#xff09;结构序列多序列比对MSA结构模板键 用户提供CCDs 2.3 AF3输出 AlphaFold3&#xff08;AF3&#xff09;可以通过在线网站或…...

使用@react-three/fiber,@mkkellogg/gaussian-splats-3d加载.splat,.ply,.ksplat文件

前言 假设您正在现有项目中集成这些包&#xff0c;而该项目的构建工具为 Webpack 或 Vite。同时&#xff0c;您对 Three.js 和 React 有一定的了解。如果您发现有任何错误或有更好的方法&#xff0c;请随时留言。 安装 npm install three types/three react-three/fiber rea…...

Koa进阶:掌握中间件和参数校验的艺术

目录 一、首先下载依赖 二、在index.js中引入koa-parameter&#xff0c;一般挂载这个中间件时会放在注册请求体的后面 三、使用实例 四、如果跟我们所需求的参数不同&#xff0c;返回结果直接会返回422 koa-parameter一般是用来校验请求传过来的参数是否是自己所需要的的 G…...

开源共建 | 长安链开发常见问题及规避

长安链开源社区鼓励社区成员参与社区共建&#xff0c;参与形式包括不限于代码贡献、文章撰写、社区答疑等。腾讯云区块链王燕飞在参与长安链测试工作过程中&#xff0c;深入细致地总结了长安链实际开发应用中的常见问题及其有效的规避方法&#xff0c;相关内容多次解答社区成员…...

【网络】深入理解 HTTPS:确保数据传输安全的核心协议

目录 引言一、HTTPS的基本概念1.1 什么是 HTTPS&#xff1f;1.2 HTTPS 的工作原理1.3 图解&#xff1a;HTTPS 通信过程1.4 HTTPS 与 HTTP 的区别1.5 为什么 HTTPS 更加重要&#xff1f; 二、SSL/TLS协议的核心2.1 SSL/TLS 协议的作用2.2 SSL/TLS 的工作流程2.2.1 握手阶段2.2.2…...

C/C++中使用MYSQL

首先要保证下载好mysql的库和头文件&#xff0c;头文件在/usr/include/mysql/目录下&#xff0c;库在/usr/lib64/mysql/目录下&#xff1a; 一般情况下&#xff0c;在我们安装mysql的时候&#xff0c;这些都提前配置好了&#xff0c;如果没有就重装一下mysql。如果重装mysql还是…...

【GD32】(一) 开发方式简介及标准库开发入门

文章目录 0 前言1 开发方式选择2 标准库模板的创建3 遇到的问题和解决方法 0 前言 因为项目关系&#xff0c;需要使用GD32。之前对此早有耳闻&#xff0c;知道这个是一个STM32的替代品&#xff0c;据说甚至可以直接烧录STM32的程序&#xff08;一般是同型号&#xff09;&#x…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...