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

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

目录

一、统计字符个数

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

语法格式如下:

python 复制代码
len(str)

例如:

python 复制代码
str1="Hello Python"
str2="Janpan-日本"
str3="Tom和Jerry123."
print(len(str1))
print(len(str2))
print(len(str3))

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

二、获取字符串中的字符

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

语法格式如下:

python 复制代码
str[num]

说明:num表示字符的序号

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

1、正向索引

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

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

例如:

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

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

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

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

例如:

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

程序的运行结果为:
9
1
万

三、获取字符串中的子串

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

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

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都省略(此时不能省略冒号),则返回整个字符串。

例如:

python 复制代码
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都省略(此时不能省略冒号),则返回整个字符串。

例如:

python 复制代码
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

四、拼接字符串

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

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

python 复制代码
str1+str2

例如:

python 复制代码
x,y=10,20
str1,str2="10","20"
z=x+y
str3=str1+str2
print(z)
print(str3)

程序的运行结果为:
30
1020

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

例如:

python 复制代码
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

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

例如:

python 复制代码
x,y=10,20
str1,str2="10","20"
str3=str1+str(x)
print(str3)

程序的运行结果为:
1010

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

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

语法格式如下:

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

例如:

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

程序的运行结果为:
1010101010
祝你生日快乐!祝你生日快乐!祝你生日快乐!
相关推荐
zone773910 小时前
001:简单 RAG 入门
后端·python·面试
F_Quant10 小时前
🚀 Python打包踩坑指南:彻底解决 Nuitka --onefile 配置文件丢失与重启报错问题
python·操作系统
允许部分打工人先富起来11 小时前
在node项目中执行python脚本
前端·python·node.js
IVEN_11 小时前
Python OpenCV: RGB三色识别的最佳工程实践
python·opencv
haosend12 小时前
AI时代,传统网络运维人员的转型指南
python·数据网络·网络自动化
曲幽12 小时前
不止于JWT:用FastAPI的Depends实现细粒度权限控制
python·fastapi·web·jwt·rbac·permission·depends·abac
IVEN_1 天前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang1 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮1 天前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling1 天前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python