Python知识点5---字符串的使用

提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。

Python的字符串在使用上和其他语言的差别不大,常规操作都是一样的

比如取一个下标的值等

a = '123456'
print(a[0])

这里要说的是Python字符串和其他语言不一样的东西,首先给大家说的是在Python中,字符串的截取叫做 “切片” ,可以直接操作

a = '123456789'
print(a[0]) ---取单个下标对应值
print(a[2:5:1]) ---从下标2开始截取到下标5,截取步长为1
print(a[2:5:2]) ---从下标2开始截取到下标5,截取步长为2
print(a[2:5])	---从下标2开始截取到下标5,截取步长默认为1
print(a[:5])	---开始下标默认是0,截取到5
print(a[2:])	---从下标2开始截取到末尾
print(a[:])		---截取所有,相当于直接输出a
print(a[::-1])	---如果步长是负数,则结果是倒着截取的987654321
print(a[-4:-1])		---截取范围为负数的时候,同样是倒着截取678,而且注意倒着的时候下标是从1开始算,结果是678
print(a[-4:-1:1])	---当范围的两个数是负数,步长是正数时,和a[-4:-1]没差别,只是随着步长的变动截取间隔随之变动而已print(a[-9:-1:-1])	---注意这一条是不会有输出的,因为截取和范围的方向会相互冲突
print(a[-1:-9:-1])	---上一条想输出结果就要使得方向不冲突

这个切片,也就是截取操作大家看完之后可能会一脸闷,尤其是最后两条,所以我总结了一下,大家记住要领就好了

切片要领:
1、三个参数,前两个是范围,最后一个是步长
2、三个参数,正负均可,为正时代表从左开始计位,为负反之
3、范围确定区间的方向一定不能和步长的方向相冲

上面是字符串的截取操作,下面给大家介绍字符串的常用操作方法,注意只介绍常用方法,不常用的用到了网上自己找资料吧

一、查找使用find,c语言里面叫做模式匹配,其实就是找到子串在母串中的其实位置,如果找不到返回-1,该方法后两位参数是母串中的下标范围

a = '123456789'
print(a.find('34'))
print(a.find('34',5,8))

二、修改

replace(旧,新,替换次数),替换次数说的是母串中有多个旧串时替换多少个,不写全部替换,但是注意,该方法不会直接改原有母串,而是返回一个新的字符串,因为Python的字符串和其他语言一样是一个不可变的数据类型

a = '123456789'
print(a.replace('1','0'))

split(分割字符,分割次数),分割方法,分割次数说的是如果有多个分割字符,那么可以控制分割的次数,但是次数的计位是从第一次出现分割字符开始的,该方法结果返回的是一个列表

a = '123456789'
print(a.split('3'))

join(多个字符串或者一个列表),这个方法其实就是起到一个交替拼接的作用

b = ['a','b','c']
print('---'.join(b))
结果:a---b---c

capitalize(),将字符串第一个字符变为大写,其他字符全部小写

a = 'aBDYdBD'
print(a.capitalize())
结果:Abdydbd

title(),将字符串中每一个单词的首字母变为大写

a = 'abc abc abc'
print(a.title())
结果:Abc Abc Abc

lower(),全部小写

a = 'ABC abc abc'
print(a.lower())

upper(),全部大写

a = 'abc abc abc'
print(a.upper())

lstrip()、rstrip()、strip(),删除左侧、右侧、两侧的空白

a = '      abc abc abc'
print(a.lstrip())

ljust(对其长度,填充字符)、rjust()、center(),字符串左、右、中对其,注意中对其的时候有时候本不是绝对的居中,因为留给填充的位数不一定够

a = 'abc abc abc'
print(a.ljust(15,'.'))
结果:abc abc abc....

startswith()、endswith(),判断开头或结尾的字符串是否存在

a = 'abc abc abc'
print(a.startswith('abc'))
结果:True

isalpha()、isdigit()、isalnum()、isspace(),最后四个就不演示了,也是返回布尔类型,依次的作用是是否全是字母、是否全是数字、是否只是由数组字母组成、是否只有空格字符


常用的方法介绍结束了,最后给大家介绍一些Python字符串的小知识点

在之前的知识点中说了,Python的字符串用单引号或者双引号都可以,但其实也可以用三引号包裹

''' 123 '''
""" 123 """

三引号使用来做文档输出的,也就是说,随着内容的换行、缩进等等,都会体现

a = '''
I
am
Tom
'''
print(a)

做文档的输出时,三引号还有一个好处,当我们希望输出单引号时我们普通的输出时如下格式,需要单双引一起配合

print("I'm Tom")
或者
print('I\'m Tom')

而三引号没有这个顾虑

a = '''
I'm
Tom
'''
print(a)

最后Python不止有print输出函数,也支持input输入函数,当然输入接收的结果都是字符串,如果我们想要转换类型,Python给我们提供了直接转换的方法,比如想接收一个数值型,我们直接调用方法就可以

a = input()
b = int(a)

当然这种转换函数很多,不止是用来转换字符串的,下面我找了一些常用的,大家用的时候网上也找找就好
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/20779.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AndroidStudio使用高德地图API获取手机定位

一、高德地图API申请 首先去高德注册开发者账号 下面这两个选项,也是我们项目成功的关键 1.1怎么获取SHA1指纹密码 ①使用AS自带的签名文件 你的用户文件下面会有一个.android文件夹,进入文件夹,在这个路径下打开cmd 如果.android下面没有签名文件参考创建文章 …

Win10安装TensorRT

目录 什么是TensorRT 下载TensorRT 安装TensorRT 拷贝文件 安装whl文件 验证是否安装成功 什么是TensorRT TensorRT是由Nvidia推出的C语言开发的高性能神经网络推理库,是一个用于生成部署的优化器和运行时引擎。和cudnn类似,但它不支持训练&#xff…

开源与闭源 AI 模型:发展路径的比较与前瞻

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Git系列:rev-parse 使用技巧

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

springboot 项目集成 knife4j

官方版本推荐 版本依赖 spring boot 2.3.12.RELEASE 和 knife4j 2.0.9 引入依赖 完整的pom.xml文件 <!-- https://mvnrepository.com/artifact/com.github.xiaoymin/knife4j-spring-boot-starter --> <dependency><groupId>com.github.xiaoymin</groupI…

OSEK错误处理及跟踪调试

1 前言 如表1所示&#xff0c;OSEK提供了一些特殊的钩子例程&#xff08;Hook routines&#xff09;&#xff0c;应用层可以在钩子函数中自定义操作&#xff0c;以参与到操作系统的内部处理中。 表1 钩子函数类型 钩子函数例程功能用途ErrorHook用于错误处理StartupHook在系统启…

Asp.Net Core 实现分片下载的最简单方式

技术群里的朋友遇到了这个问题&#xff0c;起初的原因是他对文件增加了一个属性配置 fileResult.EnableRangeProcessing true;这个属性我从未遇到过&#xff0c;然后&#xff0c;去F1查看这个属性的描述信息也依然少的可怜&#xff0c;只有简单的描述为(获取或设置为 启用范围…

Golang | Leetcode Golang题解之第125题验证回文串

题目&#xff1a; 题解&#xff1a; func isPalindrome(s string) bool {s strings.ToLower(s)left, right : 0, len(s) - 1for left < right {for left < right && !isalnum(s[left]) {left}for left < right && !isalnum(s[right]) {right--}if l…

GIS Java 生成四至图

目录 前言 操作步骤&#xff1a; 1&#xff0c;求出多边形的四至点 2&#xff0c;下载地图 3&#xff0c;绘制多边形 前言 对于地图上的一个多边形地块&#xff0c;其四至图就是能够覆盖这个多边形的最小矩形&#xff0c;也就是求出这个多边形的最东点&#xff0c;最西点&…

关于GPT-4o的使用感受和评价

如何评价GPT-4o? 简介&#xff1a; 最近&#xff0c;GPT-4o横空出世。GPT-4o的发布无疑是人工智能领域的一次重大飞跃&#xff0c;它不仅仅是一个技术产品的迭代&#xff0c;更是人机交互理念的一次革新。作为OpenAI倾力打造的最新旗舰模型&#xff0c;GPT-4o在前代产品的基础…

Vue.js2+Cesium1.103.0 十六、多模型轨迹运动

Vue.js2Cesium1.103.0 十六、多模型轨迹运动 Demo <template><div id"cesium-container" style"width: 100%; height: 100%;"><ul class"ul"><li v-for"(item, index) of deviceInfo" :key"index" cl…

制作ChatPDF之前端Vue搭建(二)

前端界面 接上篇: 制作ChatPDF之Elasticsearch8.13.4搭建&#xff08;一&#xff09; 为了实现一个基于 Vue.js 的前端应用&#xff0c;用户可以上传 PDF 文件&#xff0c;输入查询&#xff0c;并在输出框中显示查询结果&#xff0c;你需要以下步骤&#xff1a; 初始化 Vue …

AIGC商业案例实操课,发觉其创造和商业的无限可能,Ai技术在行业应用新的商机

课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/89307523 更多资源下载&#xff1a;关注我。 课程内容 1 AI为什么火 。写在课程前面的寄语 。AIGC标志性事件:太空歌剧院 。AI人工智能为什么这么火 &#xff0c;AI人工智能发展历程 。聊天AI会取…

【U-Boot 源码深度解析】001 - Ubuntu 24.04 虚拟机 及 基础环境搭建

【U-Boot 源码深度解析】001 - Ubuntu 24.04 虚拟机 及 基础环境搭建 一、VMware 、Ubuntu 安装包下载二、解决VMware NET 模式&#xff0c;虚拟机无法上网问题三、配置 Ubuntu 24.04 开发环境3.1 配置清华源 sources3.2 配置 Telnetd 服务3.3 配置 SSH 服务2.4 配置 samba 服务…

使用autodl服务器进行模型训练

1.注册并且选择一个服务器租用 2.点击jupyter lab进入服务器内部 3.把yolov5-master这个的压缩文件上传到jupyter的文件列表中 4.打开终端 (1)查看目录 ls (2)解压yolov5-master(1) unzip "yolov5-master (1).zip" 可以看到解压成功&#xff01; (3)进入yolov5-m…

[数据集][目标检测]焊接处缺陷检测数据集VOC+YOLO格式3400张8类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;3400 标注数量(xml文件个数)&#xff1a;3400 标注数量(txt文件个数)&#xff1a;3400 标注…

基于Chan-Vese算法的图像边缘提取matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................................................ % 迭代更新水平集函数 err[]…

亚马逊对IP的要求是什么?

IP的全称为Internet Protocol&#xff0c;是TCP/IP体系中的网际层协议&#xff0c;IP只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务。IP规定网络上所有的设备都必须有一个独一无二的IP地址&#xff0c;就好比是邮件上都必须注明收件人地址&#xff0c;邮递员才能…

函数递归输出1~100的数字及递归的栈溢出问题

什么是递归&#xff1f; 递归就是函数⾃⼰调⽤⾃⼰递归中的递就是递推的意思&#xff0c;归就是回归的意思如果递归就像循环一样&#xff0c;打一个大的复杂问题转化一个小的问题&#xff0c;但是要与原问题相似&#xff0c;分解成规模较⼩的⼦问题来求解&#xff1b;直到⼦问…

【scau大数据技术与原理2】综合性实验Spark集群的安装和使用——安装启动spark shell篇

实验内容简介&#xff1a; Spark是一个分布式计算框架&#xff0c;常用于大数据处理。本次实验中&#xff0c;首先设计一个包含主节点和从节点的Spark集群架构&#xff0c;并在CentOS的Linux环境下进行搭建。通过下载并解压Spark安装包&#xff0c;配置环境变量和集群参数&…