字符串对象
在Python中,凡以双引号或单引号标注的文本,都是字符串(str)#两者是完全一样的
a="Hello"
b="World"
a+b----->'HelloWorld'
a*2----->'HelloHello' # 乘号实现拼接字符串的功能
字符串索引
对字符串进行索引时,基本格式为字符串对象[索引值]
索引从零开始
a="Hallo"
a[1]
'a'
Python中字符串不能针对索引结果通过赋值方式进行修改
a[1]='e' (错!)
反向索引:
#索引最后一个字段
a[-1]
'o'
#索引倒数第二个字段
a[-2]
'l'
字符串切片
切片和索引是伴生概念。所谓切片,指的是利用类似索引的方法,按照某种规则,一次性提取原字符的一个片段字符。
a="零一二三四五六七八九十"
#索引,挑选其中某个字符
a[0]
'零'
#切片,挑选其中某片段字符
a[0:2]
'零一'
- 当索引中括号内出现冒号时,则默认进行切片运算 ,
- 切片的基本规则是:字符串[切片其实位置: 切片结束位置: 每个多少取个数];
a[1:10:2]
'一三五七九'
a[ : : 2]
'零二四六八十'
a[-11:-1]
'零一二三四五六七八九'#左闭右开
a[ : :-1]
'十九八七六五四三二一零'
a[ : :-2]
'十八六四二零'
#若不符合规范,索引结果是空值
''
- 在默认情况下,切片起始位置为0,结束位置值为字符串长度-1,第三个参数默认值为1,即全部取到;
- Python切片,左闭右开(左包含右不包含)
字符串的常用方法
在Python中,函数和方法是两个不同的概念。从使用者角度而言,假设Object代表某对象,Function为函数,Method为方法,则函数的使用方法为function(object),方法的使用方法为object.method().例如,继续上一节的问题,当需要替换'Hallo'中的'a'为'e'时,就可以使用字符串的一个常用方法:replace。
#创建对象
a="Hallo"
print(a)
Hallo
#使用replace方法替换其中的a为e
#该表达式并不会针对原对象进行修改,而是返回了一个新的修改后的对象
a.replace('a','e')
'Hello'
#将修改完的对象赋给b
b=a.replace('a','e')
print(b)
Hello
#replace默认全部替换
a.replace("l","a")
'Haaao'
#替换第一个l
a.replace("l","a",1)
'Haalo'
a.replace("l","a",2)
'Haaao'
#replace还可依次替换一个切片(替换过程字符长度可以不一致)
"Hello".replace("ello","i")
'Hi'
find 方法
用于在指定的某区间内寻找确定字符的索引值
"Hello".find('H')
0
#find过程是索引的逆过程
"Hello"[0]
'H'
#对于多次出现的字符,将返回该字符第一次出现的索引
"Hello".find('l')
2
#尝试进行区间索引
"Hello".find('l',3,5)
3
#若无结果,返回-1
count方法
计算指定索引区域内特定字符出现的次数
#当参数只给出字符时,会在字符串全区域进行技术
"Hello".count('l')
2
#在索引区间[2,3)内计算'l'出现的次数
"Hello".count('l',2,3)
1
split方法
以特定字符划分字符串,切分过程为:以该字符为界,字符前组成一个字符串,字符后组成一个字符串,并删除该字符
"Hello".split('e')
['He','llo']
#切分结构为一个序列对象
#两个连续字符/首字母/尾字母作为切分依据时,将出现空字符
"Hello".split('l')
['He','','o']
"Hello".split('H')
['','ello']
"Hello".split('o')
['Hell','']
Partition方法
partition方法和之前讲的split方法只有两点区别,其一是partition方法不会删除指定切分的元素,其二则是partition在切分包含多个指定切分字符的字符串时,只会针对第一个字符进行切分。
"Hello".partition('e')
('H','e','llo')
#返回结果对象类型为元祖
"Hello".partition('l')
('He','l','lo)
# 切分首、尾字符时仍然会出现空字符\n
"Hello".partition('H')
('', 'H', 'ello')
upper&lower方法
顾名思义,upper方法就是将字符串中的字符全部改为大写,lower方法则是将字符全都转化为小写。
strip方法
用于去除字符串首尾指定字符,当参数为空时,默认删除首位空格。
" Hello ".strip()
'Hello'
"HelloHHH".strip('H')
'ello'
#字符串中间字符无法删除
"Hello".strip('e')
'Hello'
join方法
用于在指定字符串中间穿插其他字符串。
" ".join('Hello')
'H e l l o'
"81".join('Hello')
'H81e81l81l81o'
format方法
应用见收藏(Python)