python基础之序列类型的方法——字符串方法
python基础之序列类型的方法——字符串方法
Hello大家好,我是python学习者小杨同学,经过一段时间的沉淀(其实是偷懒不想更新),我终于想起了自己的博客账号,所以这次带来的是序列方法的后半部分:字符串的方法。
接上述的列表和元组的方法,我们这次来讲讲字符串的方法,现在我们一起开始学习吧。
注:字符串是不可变类型,改、删的操作将会改变原有字符串,说人话就是改了以后它就不是原来的那个它了(滑稽)。
查
index()方法
与列表相同,index查询指定元素的下标值,如果没有该元素,则抛出错误,如果该字符串里有多个重复的数值,只返回从左开始的第一个:
a = 'hello world'
print(a.index('h'))
结果:0
# 也可以对连写元素
print(a.index('he'))
结果:0
# 如果重复,返回从左开始的第一个
print(a.index('l'))
结果:2
# 如果没有则抛出错误
print(a. index('z'))
ValueError: substring not found
count()方法
count方法可以计算指定元素在字符串中出现的个数:
a = "hello world"
print(a.count('l'))
结果:3
# 也可以像index()方法那样连写,如he
print(a.count('he'))
结果:1
find()方法
也是查询指定元素,也会返回指定下标。与index不同的是,如果该元素没有,则返回-1,故查询字符串的时候更推荐使用find方法,减少出错的可能:
a = 'hello world'
print(a.find('z'))
结果:-1
判断方法
字符串中还有四个用于判断的方法,分别是判断是否全是数字的isdigit()、判断是否全是字母的isalpha()、判断是否都是小写的islower()、以及判断是否都是大写的isupper(),这些方法返回的结果是True或者False,大家有兴趣可以尝试:
a = 'hello world'
# isdigit 判断该字符串中是否都是数字,返回True 或False
print(a.isdigit())
# isalpha 判断每个元素是否都是字母,如果字符串存在空格,就算全部都是字母也会返回False
print(a.isalpha())
# islower 判断字符串中是否都是小写字符
print(a.islower())
# isupper 判断字符字符是否大写
print(a.isupper())
改
讲完了查,现在讲改的方法,改的方法就比较朴素,没有查那么丰富了。
upper()方法
upper,顾名思义就是将字符串转换成大写:
a = 'hello world'
print(a.upper())
结果:HELLO WORLD
lower()
与之相反,自然会有个转换成小写的方法:
a = "HELLO WORLD"
print(a.lower())
结果:hello world
删
这部分操作呢,也可以叫做改,也可以叫做删,因为带有部分删除的功能,这里就叫它删吧
strip()
strip可以去除字符串两端的空格,当然也分出了lstrip删除左侧空格和rstrip删除右侧空格,这里以默认方法为准:
a = " hello world "
print(a.strip())
结果:hello world
如果你的字符串两端没有空格,则你可以指定一个元素,strip会为你删除指定的元素,如果该指定元素不存在,则无事发生:
a = "hello world"
print(a.strip('h'))
结果:ello world
split()方法
split可以指定一个元素,对字符串进行分列,同时删除该元素,如果该元素出现了多次,则分成多列
比如对一个hello world进行切割,切割l,则三个l一起切掉,该文本分为四段,并将结果转换成列表:
a = 'hello world'
print(a.split('l'))
结果:['he', '', 'owor', 'd']
replace()方法
replace可以将自定字符替换成自己想要的字符:
a = 'hello world'
print(a.replace('world','小杨'))
结果:hello小杨
字符串格式化等其他方法
通过加号来对两个字符串进行连接
如果有两个字符串,可以通过+来连接两个字符串:
a = 'hello'
b = 'world'
print(a+b)
结果:helloworld
占位符以及format的方法
概念:占位符说人话就是给一段字符串挖坑,挖完坑后用对应的东西填坑,并且挖了几个坑就必须填上几个坑
一开始的占位符看起来比较low,使用百分号%加上特定的字母来表示该占位符的数值类型,比如%S表示一个字符串,%d表示整数,%f表示浮点数,这里%.2f表示保留两位小数,使用%占位后,后面需要跟上%(填坑的数据)来填坑:
print('大家好,我是%s,今年%d岁,身高%.2f厘米' % ('小杨', 23, 170.0))
结果:大家好,我是小杨,今年23岁,身高170.00厘米
还有一种更加优雅的写法,也就是使用format方法来拼接,format的占位符是{},完成占位后使用.format(变量)来进行拼接
print('大家好,我是{}'.format('xiaoyang'))
结果:大家好,我是xiaoyang
join()方法
join方法可以用来拼接两个字符串,加两个字符串拼接在指定字符的两端,join后面只能接列表元组和字符串:
c = "+".join(['hello', 'world'])
print(c)
结果:hello+world
python基础之序列类型的方法——字符串方法的更多相关文章
- python基础之序列类型的方法——列表&元组
Hello大家好,我是python学习者小杨同学,上次跟大家分享关于python的数值类型和序列类型,本次就承接上一节的内容,说一说序列类型的方法. 序列类型的方法,简单的来说就是四个字:增删改查.随 ...
- Python基础:序列(字符串)
一.概述 字符串 类似于C中的字符数组(功能上更像C++中的string),它是由一个个 字符 组成的序列.与C/C++不同的是,Python中没有 字符 这个类型,而是用 长度为1的字符串 来表示字 ...
- Python基础:序列(列表、元组)
一.概述 列表(list)是由一个个 Python对象 组成的序列.其中,Python对象 可以是任何类型的对象,包括 Python标准类型(数值.字符串.列表.元组和字典)以及 用户自定义类型(类) ...
- python基础之数值类型与序列类型
Hello大家好,我是python学习者小杨同学,已经学习python有一段时间,今天将之前学习过的内容整理一番,在这与大家分享与交流,现在开始我们的python基础知识之旅吧. 数值类型与序列类型 ...
- Python基础__Python序列基本类型及其操作(1)
本节考虑的Python的一个中要的内置对象序列, 所谓的序列即一个有序对象的集合.这里的对象可以是数字.字符串等.根据功能的不同将序列分为字符串.列表.元组,本文将以下这几种对象做一些介绍. 一. 字 ...
- python基础教程-第三章-使用字符串
本章将会介绍如何使用字符串何世华其他的值(如打印特殊格式的字符串),并简单了解下利用字符串的分割.联接.搜索等方法能做些什么 3.1 基本字符串操作 所有标准的序列操作(索引.分片.乘法.判断成员资格 ...
- Python基础4:数据类型:数字 字符串 日期
[ Python 数据类型 ] 我们知道,几乎任何编程语言都具有数据类型:常见的数据类型有:字符串.整型.浮点型以及布尔类型等. Python也不例外,也有自己的数据类型,主要有以下几种: 1.数字: ...
- python高级(二)—— python内置序列类型
本文主要内容 序列类型分类: (1)容器序列.扁平序列 (2)可变序列.不可变序列 列表推导式 生成器表达式 元组拆包 切片 排序(list.sort方法和sorted函数) bisect pytho ...
- python基础之多态与多态性、绑定方法和非绑定方法
多态与多态性 多态 多态并不是一个新的知识 多态是指一类事物有多种形态,在类里就是指一个抽象类有多个子类,因而多态的概念依赖于继承 举个栗子:动物有多种形态,人.狗.猫.猪等,python的序列数据类 ...
随机推荐
- 直播流媒体ums
准备工具 下载 UltrantMediaServer服务器 FlashMediaLiveEncoder测试直播工具 第一步 安装 UltrantMediaServer服务器 第二步 打开网也输入 ...
- SpringCloud微服务实战——搭建企业级开发框架(三十六):使用Spring Cloud Stream实现可灵活配置消息中间件的功能
在以往消息队列的使用中,我们通常使用集成消息中间件开源包来实现对应功能,而消息中间件的实现又有多种,比如目前比较主流的ActiveMQ.RocketMQ.RabbitMQ.Kafka,Stream ...
- Flask中请求数据的优雅传递
当一个请求到来时,浏览器会携带很多信息发送发送服务端.在Django中,每一个处理函数都要传入一个request的参数,该参数携带所有请求的信息,也就是服务端程序封装的environ(不明白该参数可以 ...
- Solution Set -「ABC 217」
大家好屑兔子又来啦! [A - Lexicographic Order] 说个笑话,\(\color{black}{\text{W}}\color{red}{\text{alkingDead} ...
- Solution -「多校联训」种蘑菇
\(\mathcal{Description}\) Link. 给定一棵含有 \(n\) 个结点的树,设 \(S\) 为其中的非空联通子集,求 \[\sum_{S}(\gcd_{u\in S} ...
- MyBatis源码环境搭建
之前研究mybatis都是参考前面学习的人的一些经验,并没有自己搭建源码环境进行.现在以mybatis3.4.6版本搭建,搭建过程中各种failed,下面大致记录环境搭建过程. 1.mybatis3. ...
- Python中编码encode()与解码decode()
1 print('这是编码'.encode('utf-8')) # 结果 b'\xe8\xbf\x99\xe6\x98\xaf\xe7\xbc\x96\xe7\xa0\x81' 2 print('这是 ...
- NSSCTF-gif好像有点大
下载的附件压缩包是一个接近9mb的压缩包,其实是比较简单的一个小杂项,应该就算是个签到,接下来就是使用工具进行解答,可以使用LSB隐写工具,一帧一帧的查看,最后是在500多看到的一个是存在二维码的,扫 ...
- Docker 设置国内镜像源
创建或修改 /etc/docker/daemon.json 文件,修改为如下形式 # vi /etc/docker/daemon.json { "registry- ...
- 内网流量操控---pingtunnel建立icmp隧道
一.pingtunnel工作原理 在上面的实验环境中,我们将分别在攻击机kali 2020和webserver上部署pingtunnel工具,在量太主机之间实现icmp隧道,再在kali2020上监听 ...