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)

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Nginx实战:nginx支持带下划线的header

nginx对header 的名字字符做了限制,默认 underscores_in_headers 为off,表示如果header name中包含下划线,则忽略掉,后端服务就获取不到该请求头。 为了支持header带下划线的参数,可以在http内或者server内设置如下参数…

FreeRTOS基础(七):临界段代码保护及调度器挂起与恢复

上一篇博客我们详细介绍了FreeRTOS是怎么管理中断的,其实,从本质上来讲就是将就是利用的BASEPRI这个寄存器,来屏蔽优先级低于某一个阈值的中断,当设置为0的时候,就是打开所有中断,所有中断都可以响应。这样…

【VMware虚拟机中ubuntu系列】—— 在虚拟机中使用本机摄像头的详细教程与常见问题分析及解决

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、虚拟机调用本机摄像头(1) 启动VMware USB 服务(2) 连接本机摄像头(3) 测试摄像头的连接 二、安装usb驱动二、运行usb_cam.launch时出现select timeout的报错…

希捷硬盘怎么恢复数据? 5 个免费希捷数据恢复软件

希捷已迅速成为全球最大的数字存储提供商。许多人选择并使用希捷外置硬盘来存储他们的媒体文件、学校或工作文件以及其他重要数据。有时,希捷硬盘中的数据会丢失。 如果您丢失了希捷硬盘上的数据,请不要惊慌。在专业的希捷数据恢复软件的帮助下&#xf…

【c++进阶(一)】STL之string接口介绍

💓博主CSDN主页:Am心若依旧💓 ⏩专栏分类c从入门到精通⏪ 🚚代码仓库:青酒余成🚚 🌹关注我🫵带你学习更多c   🔝🔝 1.前言 本章重点 本章着重讲解string中一些重要的接口函数&…

SOUI Combobox 实现半透明弹出下拉框

SOUI默认情况下combobox的弹出框不是半透明的&#xff0c;这个时候如果背景透明时&#xff0c;滚动条会出现黑色背景&#xff0c;这个时候只需要在在combobox下添加一个子节点 <dropdownStyle translucent"1"></dropdownStyle> 这样一个窗口默认即实现…

Nature Communications|柔性自驱动仿生眼(离子凝胶/仿生眼/柔性电子)

2024年4月10日,黄维(Wei Huang)院士、南京工业大学刘举庆(Juqing Liu)教授和刘正东(Zhengdong Liu)副教授课题组,在《Nature Communications》上发布了一篇题为“A bionic self-driven retinomorphic eye with ionogel photosynaptic retina”的论文,罗旭(Xu Luo)、陈晨(…

vscode过滤器@modified(查看配置了哪些设置)

文档 visualstudio•docs•getstarted•settingshttps://code.visualstudio.com/docs/getstarted/settings 说明 使用modified可以过滤出&#xff1a; 配置过的设置&#xff08;和默认值不同&#xff09;&#xff1b; 在 settings.json 文件中配置了值的设置 步骤 1.打开…

Golang省市二级联动实现 从数据收集、清洗到数据存储

1.背景&#xff1a; 最近在写项目&#xff0c;在项目中有一个需求是获取用户的地理位置&#xff0c;一开始是打算让前端使用JSON包的形式去实现&#xff0c;但是考虑到后期可能需要对省市的数据做一些修改和控制操作&#xff0c;所以改为后端实现&#xff0c;并向后台暴露一套…

六一去哪儿,跟着蒙自源开启一段关于童年记忆与美味奇妙旅程

夏日微风轻拂&#xff0c;童心随风起舞。在这个充满欢声笑语的季节里&#xff0c;蒙自源诚挚地邀请您和您的家人&#xff0c;一同参加为六一儿童节精心准备的庆祝活动&#xff0c;共同开启一段关于童年记忆与美味的奇妙旅程。 从5月25日起&#xff0c;蒙自源的各大门店将化身为…

Vue3实战笔记(56)—实战:DefineModel的使用方法细节

文章目录 前言一、实战DefineModel二、思考原理总结 前言 今天写个小例子&#xff0c;实战DefineModel的使用方法细节 一、实战DefineModel 上文官方说的挺清楚&#xff0c;实战验证一下&#xff0c;新建DefineModel.vue&#xff08;这是儿子&#xff09;&#xff1a; <te…

mac油猴Safari浏览器插件:Tampermonkey for Mac下载

Tampermonkey 是一款用于浏览器的用户脚本管理器插件&#xff0c;它允许用户安装、管理和运行用户脚本&#xff0c;从而可以自定义网页的功能和外观。该插件支持在谷歌浏览器、火狐浏览器、Safari等主流浏览器上使用。提供了丰富的用户脚本管理和自定义功能&#xff0c;使用户可…

基于小波分析的一维时间序列多重分形分析(MATLAB R2018a)

分形与小波变换在尺度性能上具有很多相似性&#xff0c;因此小波变换被认为是分析、刻画分形现象一个有力的工具。在分析分形的一般方法中&#xff0c;需要按照“盒维数”的计算思想&#xff0c;首先要将研究序列进行不同长度的分割&#xff0c;然后建立起结构函数&#xff0c;…

【人工智能】第一部分:ChatGPT的基本概念和技术背景

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

【因果推断python】10_分组和虚拟变量回归1

目录 分组数据回归 分组数据回归 并非所有数据点都是一样的。 如果我们再次查看我们的 ENEM 数据集&#xff0c;相比小规模学校的分数&#xff0c;我们更相信规模较大的学校的分数。 这并不是说大型学校更好或什么&#xff0c; 而只是因为它们的较大规模意味着更小的方差。 i…

【CVE-2021-3156】——漏洞复现、原理分析以及漏洞修复

文章目录 前言1、漏洞概述2、漏洞复现2.1、漏洞复现测试环境2.2、漏洞复现具体步骤 3、漏洞原理3.1、前置知识3.1.1、sudo3.1.2、sudoedit3.1.3、转义字符 3.2、漏洞分析 4、漏洞修复5、参考文献总结 前言 2021年01月27日&#xff0c;RedHat官方发布了Sudo缓冲区/栈溢出漏洞的风…

数据中台设计方案(原版word获取)

通过中台建设实现企业能力复用&#xff0c;包括能力整合、业务创新、业务和数据闭环、组织模式演进等。 数字能力整合 企业的数字能力一般包括数字化营销、数字化产品、数字化供应链、数字化生产、数字化运营等。企业的数字化能力的充分利用&#xff0c;从而达到可持续发展。数…

vscode设置编辑器文件自动保存

步骤 1.打开vscode的设置 2.在搜索栏输入关键字“保存”&#xff1b; 在 Files: Auto Save 设置项&#xff0c;选择自动保存的模式

Java——处理键盘输入

在Java中&#xff0c;可以使用多种方式来处理键盘输入。最常用的一种方法是使用 Scanner 类&#xff0c;它位于 java.util 包中。 一、使用 Scanner 类处理键盘输入 1、具体操作步骤 1&#xff09;导入 Scanner 类 在开始编写代码之前&#xff0c;需要导入 java.util.Scann…

【LeetCode:575. 分糖果+ 哈希表】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…