Python 程序设计讲义(27):字符串的用法——字符串的常用操作

发布于:2025-07-30 ⋅ 阅读:(15) ⋅ 点赞:(0)

Python 程序设计讲义(27):字符串的用法——字符串的常用操作

一、统计字符个数

Python字符串中的数字、大写字母、小写字母、中文、符号、空格等都被看成一个字符。可以使用函数len()统计字符串中字符的个数。

语法格式如下:

len(str)

例如:

str1="Hello Python"
str2="Janpan-日本"
str3="Tom和Jerry123."
print(len(str1))
print(len(str2))
print(len(str3))

程序的运行结果为:
12
9
13

二、获取字符串中的字符

字符串中的字符是有序的,可以使用索引访问。使用中括号([])表示。

语法格式如下:

str[num]

说明:num表示字符的序号

字符串中字符的序号分为正向序号和反向序号。在进行索引时,分为正向索引和反向索引。

1、正向索引

正向索引时从字符串的最左侧(第一个字符)开始,字符序号从0开始,向右依次递增。递增到字符串的长度-1

假设字符串的长度为L,则正向索引的字符序号从0L-1

例如:

str1="123456789"
str2="中国人民共和国万岁"
print(str1[0])
print(str1[8])
print(str2[3])

程序的运行结果为:
1
9
2、反向索引

反向索引是指从字符串的最右侧(最后一个字符开始),字符序号从-1开始,向左依次递减,递减到字符串长度的相反值。

假设字符串的长度为L,则反向索引的字符序号从-1-L

例如:

str1="123456789"
str2="中国人民共和国万岁"
print(str1[-1])
print(str1[-9])
print(str2[-2])

程序的运行结果为:
9
1

三、获取字符串中的子串

字符串中连续的字符称为字符串的子串。在 Python中提取子串称为【切片操作】。

切片操作的语法格式如下:

str[m:n]
说明:
(1)m和n为字符序号,可以是正向递增序号,也可以是反向递减序号
(2)m和n之间用冒号(:)进行分隔。
(3)结果为提取字符串中从m(包括m)到n(不包括n)之间的所有字符。
(4)m所代表字符的序号必须小于n所代表字符的序号,否则返回一个空字符串
(5)m和n可以省略。如果省略m,默认将m设置为0;如果省略n,默认表示到字符串的结尾。如果m和n都省略(此时不能省略冒号),则返回整个字符串。

例如:

str1="123456789"
print('提取的子串为:',str1[1:3]) #结果为23
print('提取的子串为:',str1[1:1]) #结果为空字符串
print('提取的子串为:',str1[4:3]) #结果为空字符串
print('提取的子串为:',str1[-5:-2]) #结果为567
print('提取的子串为:',str1[-3:-3]) #结果为空字符串
print('提取的子串为:',str1[-2:-5]) #结果为空字符串
print('提取的子串为:',str1[6:-5]) #结果为空字符串
print('提取的子串为:',str1[2:-3]) #结果为3456
print('提取的子串为:',str1[-5:8]) #结果为5678
print('提取的子串为:',str1[-5:3]) #结果为空字符串

程序的运行结果为:
提取的子串为: 23
提取的子串为: 
提取的子串为: 
提取的子串为: 567
提取的子串为: 
提取的子串为: 
提取的子串为: 
提取的子串为: 3456
提取的子串为: 5678
提取的子串为: 

mn可以省略。如果省略m,默认将m设置为0;如果省略n,默认表示到字符串的结尾。如果mn都省略(此时不能省略冒号),则返回整个字符串。

例如:

str1="123456789"
print('提取的子串为:',str1[:]) #m和n都省略,结果为整个字符串
print('提取的子串为:',str1[:5]) #省略m,则m=0,结果为12345
print('提取的子串为:',str1[:-6]) #省略m,则m=0,结果为123
print('提取的子串为:',str1[5:]) #省略n,则取到最后一个字符,结果为6789
print('提取的子串为:',str1[-5:]) #省略n,则取到最后一个字符,结果为56789

程序的运行结果为:
提取的子串为: 123456789
提取的子串为: 12345
提取的子串为: 123
提取的子串为: 6789
提取的子串为: 56789

四、拼接字符串

拼接字符串是指将一个或多个字符串连接在一起,产生一个新的字符串。使用加号(+)连接字符串。

拼接字符串的语法格式如下:

str1+str2

例如:

x,y=10,20
str1,str2="10","20"
z=x+y
str3=str1+str2
print(z)
print(str3)

程序的运行结果为:
30
1020

在进行字符串拼接时,加号两边必须都是字符串,不能一边是字符串,另一边是其他类型。否则会报错。可以使用函数str()把其他类型转换为字符串类型,然后再拼接。

例如:

x,y=10,20
str1,str2="10","20"
str3=str1+x
print(str3)

出现错误。程序的运行结果为:
Traceback (most recent call last):
  File "C:\Users\wgx58\PycharmProjects\PythonProject\hello.py", line 3, in <module>
    str3=str1+x
         ~~~~^~
TypeError: can only concatenate str (not "int") to str

把其他数据类型转换为字符串类型。

例如:

x,y=10,20
str1,str2="10","20"
str3=str1+str(x)
print(str3)

程序的运行结果为:
1010

五、使字符串重复出现n次

Python中可以使用星号(*)将一个字符串重复出现多次。

语法格式如下:

str*n
说明:str表示一个字符串,n表示要使该字符串重复出现的次数

例如:

str1="10"
str2="祝你生日快乐!"
str3=str1*5
str4=str2*3
print(str3)
print(str4)

程序的运行结果为:
1010101010
祝你生日快乐!祝你生日快乐!祝你生日快乐!

网站公告

今日签到

点亮在社区的每一天
去签到