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

Python知识点精汇!字符串:定义、截取(索引)和其内置函数

目录

一、字符串的定义

二、字符串的截取

1.截取干啥的

2.怎么用截取

3.打印多次

4.两个字符串拼接在一起

三、字符串内置函数

1.查询函数:

(1)find(str,start,end)

(2)index(str,start,end)

2.大小写转换函数:

(1)upper()

(2)lower() 

(3)swapcase()

(4)capitalize()

(5)title()

3.分割字符串函数

(1)split(x,y)

(2)rsplit(x,y)

(3)splitlines()

(4)partition(x)

(5)rpartition(x)

4.合并与替换

(1)join(str)

 (2)replace(old,new,max)

(3)format(x1,x2,……)

5.字符串的比较

(1)max(str)

(2)min(str)

(3)ord(str)

(4)chr(原始值)

6.字符串计数

(1)count(str,start,end)

(2)len(str)

7.判断开头结尾字符串

(1)startswith(x)

 (2)endswith(x)

8.去掉两端多余字符

(1)lstrip(chars)

(2)rlstrip(chars)

(3)strip(chars)

9.字符串检测函数

(1)isalnum()

(2)islower()

(3)isupper()


一、字符串的定义

标准解释:字符串是一系列字符的有序集合。字符可以是字母、数字、符号、空格等。字符串的长度是其包含的字符数量。在编程中,字符串通常用引号括起来。

简单来说,字符串就是被单引号和双引号括住的东西。

例子:1是整数型的,而“1”就会变成字符串类型的1

二、字符串的截取

1.截取干啥的

比如,我们有字符串类型变量a=“123一二三;;;”

如果我们想输出其中的一部分,比如输出:23一

那么就会用到截取的知识。

2.怎么用截取

首先,我们既然想输出指定部分,那么就要先给它内部编个号,然后我们告诉计算机编号几到几,它就可以输出了。

具体的编号规则如下:

正向索引:第一个是0,第二个是1,以此类推……

反向索引:最后一个是-1,倒数第二个是-2,以此类推……

我们也可以借着下图来理解,定义字符串“Runoob”

 

正向索引和反向索引,随便用哪个都行,当然混着用也是可以的

具体的格式如下:

a="12三四56"    #假设你定义了字符串a
#输出第二个到第四个字符
print(a[1:4])

有人可能问了,第四个字符不是到3吗,怎么成4了?

这是因为, [ ] 中尊崇“左闭右开”原则。所以[1:4]相当于“大于等于编号1小于编号4”,就是字符“第2个到第4个了”,即最后边它是不包括的, 所以你要多加一位喽。(所以在反向索引时,也要尤其注意哦)

我们来看一看具体示例:

新问题:如果想输出从第2个一直到尾呢

我们只需要[ :]的后一个位置空着就行,如下:

同理,如果是从头开始,就可以把最前面的位置空着就行了。

3.打印多次

比如连续打印两次,加上“*2”即可,代码如下:

a="123天气真好!!"
print(a*2)

系统输出:

4.两个字符串拼接在一起

比如我们想在字符串a的后面加上点字,写个“+”然后写字符串就行,代码如下:

a="123天气真好!!"
print(a+"心情真好。")

系统输出

三、字符串内置函数

1.查询函数:

(1)find(str,start,end)

说明:

从编号start开始,一直到编号end结束,来查找str是否在字符串中,如果在,则输出str的编号位置,如果不在则输出-1

示例代码:

a="最近真的好忙,好郁闷!!"
b=a.find("忙",1,3)    #查找“忙”是不是在第2个元素到第3个元素之间
c=a.find("忙",1,7)    #查找“忙”是不是在第2个元素到第7个元素之间
print(b)
print(c)

系统输出:

注:这里的索引规则,同第二部分一样。

另外,如果你嫌写b和c麻烦,其实可以直接写成:

a="最近真的好忙,好郁闷!!"
print(a.find("忙",1,3))
print(a.find("忙",1,7))

(2)index(str,start,end)

唯一与find不同的是,find找不到会返回-1,而index找不到会报错

2.大小写转换函数:

(1)upper()

功能:将所有元素转换为大写

(注:a字符串的括号可以不加) 

(2)lower() 

功能:将所有元素转换为小写

(3)swapcase()

功能:将大写变成小写,将小写变成大写

(4)capitalize()

功能:第一个字符大写,其余小写

(5)title()

功能:每个单词首字母大写,其余小写

3.分割字符串函数

(1)split(x,y)

解释:从头开始,在字符串中寻找x,找到后,删除掉x,然后将x两侧的字符,分割成两部分字符串输出。y的含义是,寻找几次x。

如果y是1,那么从左开始,第一次找到后则停止,如果不填y,则默认一直查找。

 示例代码:

a="mynameisA.sir"
print(a.split("yn"))
print(a.split("i"))
print(a.split("i",1))

系统输出:

(2)rsplit(x,y)

与split(x,y)类似,只不过rsplit(x,y)是从右侧开始查找

(3)splitlines()

功能:针对多行的字符串分割,最后变成一个列表

示例:

注:splitlines(a)中的a可以不写 ,并且不加a的话,就不会出现\n了

注意:这里连用了三个双引号,是为了能够使得字符串分行书写

(4)partition(x)

功能:从做开始,找第一个x,并以x为界,分为三部分,x左一部分,x一部分,x右一部分

注:返回的是元组

(5)rpartition(x)

与partition(x)相同,只不过从右边开始找

4.合并与替换

(1)join(str)

格式:

b=“。”.join([a1,a2,a3])

解释:

将a1,a2,a3三个变量。并用“。”连接起来

示例:

当然,如果是在 每一个元素都插入的话,如下图格式:

 (2)replace(old,new,max)

解释:

将字符串中的old字符,替换成new,替换次数为max次

示例:

(3)format(x1,x2,……)

首先在原字符串中有 {} ,然后会被x1,x2依次替换

示例:

 注:{}里不能有东西哦

5.字符串的比较

(1)max(str)

功能:返回最大的字母

示例:

(2)min(str)

功能:返回最小字母

原理同max函数

(3)ord(str)

功能:将指定字符转换为原始值

print(ord("a"))

系统输出:97 

补充知识:原始值

在计算机中有一种编码,叫做ASCII ,在这个编码系统里,每一个字符都有对应的数字值,就叫原始值

(4)chr(原始值)

功能:将原始值转换为对应字符

print(chr("97"))

系统输出:a

6.字符串计数

(1)count(str,start,end)

解释:在字符串start到end范围内,查找str出现次数,并返回

这里的start,end同样遵循左闭右开原则

(2)len(str)

功能:计算字符串内字符个数

示例:

7.判断开头结尾字符串

(1)startswith(x)

功能:判断字符串是否以x开头,若是则返回True

 (2)endswith(x)

功:判断字符串是否以x结尾,若是则返回True

原理同startswith(x)

8.去掉两端多余字符

(1)lstrip(chars)

功能:去掉左边的字符chars,如果一直匹配,则一直去除,如果遇到不匹配的则立即停止

示例:

a = "aabbcc"
b=a.lstrip("a")
print(b)    #输出bbcca = "aabbcc"
b=a.lstrip("ab")
print(b)    #输出cca = "aabbcc"
b=a.lstrip("abc")
print(b)    #输出为空白

(2)rlstrip(chars)

从右边开始匹配,原理同lstrip(chars)

(3)strip(chars)

从左右两边同时匹配,原理同lstrip(chars)

9.字符串检测函数

(1)isalnum()

功能:判断字符串是否只包含数字和字母,若是则输出True

示例:

(2)islower()

功能:检测字符串是否都是小写字母

示例:

(3)isupper()

功能:检测字符串是否都是大写字母

原理同islower()

以上就是全部内容拉~~

相关文章:

Python知识点精汇!字符串:定义、截取(索引)和其内置函数

目录 一、字符串的定义 二、字符串的截取 1.截取干啥的 2.怎么用截取 3.打印多次 4.两个字符串拼接在一起 三、字符串内置函数 1.查询函数: (1)find(str,start,end) (2)index(str,start,end&#…...

【CV】头盔检测区域入侵项目

文章目录 🌕项目和数据下载🌙安全帽佩戴数据集🌕收集数据数据🌕wbem格式视频转avi或者mp4🌕跑通区域入侵🌙多边形标注工具下载🌙使用Python脚本打开视频获取一张用来标注的图片🌙打开labelme标注一个多边行🌙程序可以识别的标注json格式🌙修改代码读取Json…...

大数据应用开发——实时数据处理(一)

前言 大数据应用开发——实时数据采集 大数据应用开发——实时数据处理 Flink完成Kafka中的数据消费,将数据分发至Kafka的dwd层中 并在HBase中进行备份 大数据应用开发——数据可视化 hadoop,zookeeper,kafka,flink要开启 目…...

Wireshark中的length栏位

注:Ethernet II的最小data length为46,如果小于,会补全到46. 1.指定网卡抓取的,链路为ethernet。 IPv4 Ethernet II 长度为 14 bytes - L1ipv4 header中的length包括header和payload的总长度 - L2wireshark中length表示抓取的pac…...

IDEA中创建多模块项目步骤

步骤 1:使用 Spring Initializr 创建父项目 打开IntelliJ IDEA,选择 File > New > Project。选择 Spring Initializr 并配置项目信息: Group ID:例如 com.aqian,用于项目的组织标识。Artifact ID:例…...

深度学习笔记13-卷积神经网络1

1.卷积神经网络 卷积神经网络(CNN),它是由多个卷积层、池化层和全连接层构成的前馈神经网络。在卷积神经网络中,包含了可训练的卷积核,这使得卷积神经网络具有强大的表征学习能力。卷积神经网络通过卷积层和池化层进行…...

【新华妙笔-注册/登录安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…...

STM32电源管理—实现低功耗

注: 本文是学习野火的指南针开发板过程的学习笔记,可能有误,详细请看B站野火官方配套视频教程(这个教程真的讲的很详细,请给官方三连吧) 在响应绿色发展的同时,在很多应用场合中都对电子设备的功…...

【链路层】空口数据包详解(4):数据物理通道协议数据单元(PDU)

目录 一、概述 1.1. 头部(Header)结构 1.2. MIC字段的情况说明 1.3. 有效载荷(Payload)格式与LLID字段的关联 二、LL Data PDU 2.1. 定义与用途 2.2. 头部字段设置 2.3. 空PDU(Empty PDU ) 2.4. 数…...

数学分组求偶数和

问题描述 小M面对一组从 1 到 9 的数字,这些数字被分成多个小组,并从每个小组中选择一个数字组成一个新的数。目标是使得这个新数的各位数字之和为偶数。任务是计算出有多少种不同的分组和选择方法可以达到这一目标。 numbers: 一个由多个整数字符串组…...

机器学习基础02_特征工程

目录 一、概念 二、API 三、DictVectorize字典列表特征提取 四、CountVectorize文本特征提取 五、TF-IDF文本1特征词的重要程度特征提取 六、无量纲化预处理 1、MinMaxScaler 归一化 2、StandardScaler 标准化 七、特征降维 1、特征选择 VarianceThreshold 底方差…...

CSS Modules中的 :global

最近写需求遇到如下代码,我们来分析一番: .medicine-bot {:global(.cosd-site-vcard-card) {margin-top: -3px;}:global(.cosd-site-vcard-title-text) {font-size: var(--cos-text-headline-sm);}:global(.cosd-site-vcard-button) {background-color: …...

linux病毒编写+vim shell编程

学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 请一定遵循《网络空间安全法》!!! Linux目录介绍 /bin 二进制可执行文件(kali里面是工具一些文件)/etc 系统的管理和配置文…...

WinDefender Weaker

PPL Windows Vista / Server 2008引入 了受保护进程的概念,其目的不是保护您的数据或凭据。其最初目标是保护媒体内容并符合DRM (数字版权管理)要求。Microsoft开发了此机制,以便您的媒体播放器可以读取例如蓝光,同时…...

智能工厂的设计软件 为了监管控一体化的全能Supervisor 的监督学习 之 序5 架构for认知系统 总述 (架构全图)

本文提要 本文讨论的“智能工厂的设计软件” for认知系统的架构全图 ,这有别于前面所说的“智能工厂的设计软件”的“全景图”。两者在内容和侧重点上有所不同,但它们共同构成了对智能工厂设计软件的全面描述。 全景图是对智能工厂设计软件的整体概览&…...

vmware集群 vSAN HCL 数据库

HCL数据库升级 https://partnerweb.vmware.com/service/vsan/all.json VSAN版本目录升级 https://vcsa.vmware.com/ph/api/v1/results?deploymentId2d02e861-7e93-4954-9a73-b08692a330d1&collectorIdVsanCloudHealth.6_5&objectId0c3e9009-ba5d-4e5f6-bae8-f25ec5…...

人工智能引发直播革命:AI 技术塑造无人直播全新体验

在数字化浪潮席卷全球的今天,人工智能(AI)技术以其无与伦比的速度和广度,正深刻地改变着各行各业的面貌。其中,直播行业作为新媒体时代的宠儿,也迎来了由AI技术引领的颠覆性变革。这场由人工智能引发的直播…...

数据研发基础 | 什么是流批一体

流批一体的概念是可能出现在大厂的面试题中的,虽然就算大厂实习也没机会实操这样的高级操作,学一点概念,面试多少是能说上一两句的。大致就是希望一套代码能同时在批处理和流处理中运行(同时做离线计算和实时计算)。下…...

《Python网络安全项目实战》项目6 编写密码工具程序

《Python网络安全项目实战》项目6 编写密码工具程序 项目6 编写密码工具程序任务6.1 猜数字游戏任务描述任务分析任务实施6.1.1 编写基本的猜数字程序6.1.3 测试并修改程序6.1.4 给程序增加注释 任务拓展任务实施6.2.1 生成随机密码6.2.4 菜单功能 相关知识1. 密码字典2. 密码字…...

现代C++HTTP框架cinatra

文章目录 cinatra简介主要特点 快速上手编译器版本要求使用指南快速示例 项目地址 cinatra简介 cinatra是一个基于C20协程的高性能HTTP框架,它的目标是提供一个快速开发的C HTTP框架解决方案 它不仅支持HTTP/1.1和1.0,还支持SSL和WebSocket&#xff0c…...

华为云AI开发平台ModelArts

华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

day36-多路IO复用

一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...

Bean 作用域有哪些?如何答出技术深度?

导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答&#xff0c…...

电脑桌面太单调,用Python写一个桌面小宠物应用。

下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡,可以响应鼠标点击,并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...

EasyRTC音视频实时通话功能在WebRTC与智能硬件整合中的应用与优势

一、WebRTC与智能硬件整合趋势​ 随着物联网和实时通信需求的爆发式增长,WebRTC作为开源实时通信技术,为浏览器与移动应用提供免插件的音视频通信能力,在智能硬件领域的融合应用已成必然趋势。智能硬件不再局限于单一功能,对实时…...

前端打包工具简单介绍

前端打包工具简单介绍 一、Webpack 架构与插件机制 1. Webpack 架构核心组成 Entry(入口) 指定应用的起点文件,比如 src/index.js。 Module(模块) Webpack 把项目当作模块图,模块可以是 JS、CSS、图片等…...