字符串
一、定义
1.1 什么叫字符串?
- 可以理解成一串文本或者多个字符的组合
- 表示:单引号括起来的内容;双引号括起来的内容
- 赋值:给某个变量复制为字符串类型;第二次赋值会覆盖第一次赋值,单引号与双引号可以互相嵌套使用
1.2 转义字符
- 转义字符\后面跟上单引号或者双引号,可以直接输出单引号或者双引号
\''
⟶ \longrightarrow ⟶''
\'
⟶ \longrightarrow ⟶'
\n
⟶ \longrightarrow ⟶换行
\t
⟶ \longrightarrow ⟶制表符
1.3 如何避免不转义?
- 法一:把转义字符号赚一点,就用
\\
- 法二:在字符串前加小写的
r
,一般用于长的地址字符串,注意的是不能和变量字符串连用 - 法三:函数
repr(字符串)
:该函数输出的字符串带有单引号
二、基础函数
2.1 字符串的长度
len(字符串)
: 求字符串的长度repr(字符串)
:输出的字符串结果中包含单引号,计算长度时单引号将被算入
len('pbr') # out: 3
len(repr('pbr')) # out:5
2.2 字符串的拼接
- 法一:
print
函数的自带的参数输出功能 - 法二:使用
+
来拼接字符串
x='Iam'
y='pan'
print(x,y) # 法一,注意print 默认连续输出两个字符串,其中间用空格隔开
x+y # 法二
out:
Iam pan # 两个字符串之间有空格
Iampan
2.3 字符串的多行输出
\
的作用就是进行续写,这里注意的是下一行的空格会被实际输出,但排版换行不会- 使用三个单引号,或,使用三个双引号,注意,排版中的换行会在输出中换行;如果遇到转义字符,也会被转义
a='I am\
allen' # 这里开头有4个空格
out
I am allen
在输出结果中,am 和 anllen中间的4个空格也被输出
b='''I am\n
JOe,
hello'''
print(b) # 在notebook中会有两种显示
b
out
I am
Joe,
hello
另一种结果:I am\n\nJoe,\n hello
2.4 数值字符串与数字的互转
int
str
2.5 字符串的索引和切片
- 通过
字符串[i]
- 通过冒号:切片,冒号的左右两篇嗲表截取的起点和终点;左闭右开(左取到,右取不到)
name="Jack lucy"
name[len(name)-1] # 取末尾字符
name[1:6] #out :'ack l'
2.6 字符串的包含关系
in
:比较整个字符串1是否在字符串2中;是,return True,否,return Falsenot in
:同上相反
'abce' not in 'abcd' # out:True
'abc' in 'abcd' # out:True
三、相关函数(高阶操作)
3.1 删除字符串序列的端点处(开头、结尾)处的特定字符
字符串.strp('rm')
:删除字符串中开头、结尾处的‘rm’的字符字符串.lstrip('rm')
:删除字符串中开头处的‘rm’的字符字符串.rtrip('rm')
:删除字符串中结尾处的‘rm’的字符字符串.strip()
:删除默认的字符,空白符\n,\r,\t
a=' 123\n\t\r'
a.strip()
out:123
b='123abc123abc311'
b.strip('12')
out:3abc123abc3
注意:要删除的字符集没有顺序,且没有个数
3.2 替换字符函数replace()
str.replace(old, new, count=-1)
参数解析:
- old:将被替换的子字符串
- new: 新字符串,用于替换old子字符串
- count=-1:默认替换所有
案例:
str1='this is string example...wow!!!this is really string"
print(str1.replace('is','was'))
print(str1.replace('is','was',3))
# print(str1.replace('is','was',count=3)) 报错