目录
字符串
一、字符串的访问
二、字符串的切片
三、字符串的格式化
1. 利用 % 格式化字符串
2. 利用 f 格式化字符串
四、与字符串有关的函数与方法
1. 修改字符串的大小写
2. 字符串的查找与替换
3. 处理字符串
4. 对字符串中的字符进行分类
5. 其他
五、字符串的操作符
字符串
字符串是一种基本数据类型。
字符串就是一系列字符,其表现形式是用单引号或双引号扩起来的内容。
一、字符串的访问
1. 使用下标和方括号[]对字符串进行访问
下标(索引):正向由0开始依次增加,反向由-1开始依次减少
a = 'apple'
a[0]
a[-1]
-------输出结果-------
'a'
'e'
# 这种访问方法我们只可以获取一个字符,如果我们想要获取一个字符串中的多个字符,就要用到字符串的切片。
二、字符串的切片
得到字符串片段的操作叫做切片。
其基本使用方法是 字符串[起点值:终点值:步长]
注意,起点值的默认值是0,终点值得默认值是len(字符串),步长的默认值是1
这三个参数都是可以省略的
a = 'abcdefg'
b = dog
a[0:3:2]
a[:2:] #终点值是开区间
b[::-1] #字符串的逆序输出
------------输出结果------------
'ac'
'ab'
'god'
三、字符串的格式化
符号 | 转换 |
%s | 字符串 |
%d | 有符号的十进制数 |
%f | 浮点数 |
name = 'Tom'
age = 18
weight = 80.0
print('我的名字是%s , 年龄是%d , 体重是%f' % (name , age , weight))
print('我的名字是%s , 年龄是%s , 体重是%s' % (name , age , weight))
-----------------------------输出结果-----------------------------
我的名字是Tom,年龄是18,体重是80.000000
我的名字是Tom,年龄是18,体重是80.0
# 可见 %s 可以替代 %d 和 %f 的作用
# 但是如果我想要对体重进行保留小数的处理,只需要在%和f中间加上 ‘.n’ 即可
weight = 80.234
print('我的体重是%.1f' % weight)
-------------输出结果-------------
我的体重是80.2
# 如果我要对输出结果的位数做出要求,可以在%和d之间加入数字
a = 1
print('我的排名是第%03d名' % a)
------------输出结果------------
我的排名是第001名
a = 'girl'
b = 'friend'
print(f'I have a {a}{b}')
-----------输出结果-----------
I have a girlfriend
四、与字符串有关的函数与方法
名称 | 作用 |
title() | 将每个单词的首字母大写 |
lower() | 将单词的每一个字母均改为小写 |
upper() | 将单词的每一个字母均改为大写 |
swapcase() |
将单词字母的大小写形式互换 |
a = 'I love you'
a.title()
a.upper()
a.lower()
a.swapcase()
-------输出结果-------
I Love You
I LOVE YOU
i love you
i LOVE YOU
名称 |
作用 |
count() |
统计字符串中某个字符出现的次数 |
startwith() |
判断字符串是否以某个字符打头 |
endswith() |
判断字符串是否以某个字符结尾 |
find() |
从字符串中寻找某个字符,返回找到的第一个下标,找不到则返回-1 |
rfind() |
与find()功能相同,只不过是从末尾开始寻找 |
index() |
与find()功能相同,找不到时会报错 |
rinedex() |
与rfind()功能相同,找不到时会报错 |
m = 'museum'
m.count('m')
m.rfind('u')
-----输出结果-----
2
4 #如果从末尾开始寻找的话,返回的下标依旧是从开头开始计算的下标
# 可以指定,即(子串,起始下标,终止下标[开区间])
名称 |
作用 |
ord() |
将字符转换为整数 |
chr() |
将整数转换为字符 |
len() |
返回字符串的长度 |
str() |
返回对象的字符串表示形式 |
a = "python"
print(len(a))
----输出结果----
6
名称 |
作用 |
isalnum() |
判断字符串是否由字母或数字组成 |
isalpha() |
判断字符串是否由字母组成 |
isdigit() |
判断字符串是否由数字组成 |
isidentifier() |
判断字符串是否是Python的有效标识符 |
islower() |
判断字符串中的字母是否为小写 |
isprintable() |
判断字符串是否由完全可打印的字符组成 |
isspace() |
判断字符串是否由空白字符组成 |
istitle() |
判断字符串是否符合标题格式 |
isupper() |
判断字符串中的字母是否为大写 |
# 空白字符
字符 |
作用 |
字符 |
作用 |
‘ ’ |
空格(不是空) |
\f |
换页 |
\n |
换行符 |
\r |
回车符 |
\t |
水平跳格键 |
\v |
垂直跳格键 |
'123abc'.isalnum()
'Abc'.islower()
------输出结果------
True
False
名称 |
作用 |
center() |
center(width[,fillchar]),将字符串居中显示,左右用fillchar填充,共占width列,若指定宽度不够,则输出原字符串 |
ljudt() |
与center()功能相同,实现左对齐,然后填充 |
rjust() |
与center()功能相同,实现右对齐,然后填充 |
expandtabs() |
将字符串中的跳格键用空格代替,默认8个空格代替一个跳格 |
strip() |
删除字符串开头和结尾处的指定字符,默认为空白字符 |
lstrip() |
与strip功能相同,从字符串左侧删除 |
rstrip() |
与strip功能相同,从字符串右侧删除 |
replace() |
将字符串中的旧内容用新内容代替 |
'love'.center(10,'-')
' love '.strip()
---------输出结果---------
'---love---'
'love'
五、字符串的操作符
名称 |
作用 |
a + b |
将两个字符串拼接起来 |
a * n 或 n * a |
将字符串a复制n次 |
x in a |
若x是a的子串则返回True,否则返回Falae |
x not in a |
与in功能相反 |
a = '我'
b = '爱你'
a + b
a * 2
a * -1
----------------------输出结果----------------------
'我爱你'
'我我'
'' # 当乘的数字为0或负整数的时候,返回结果为空