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
祝你生日快乐!祝你生日快乐!祝你生日快乐!
相关推荐
GEOshijie12314 分钟前
GEO服务商算法适配承诺怎么验收?48小时响应的合同化考核方案
人工智能·python
周GZ18 分钟前
简单讲解Java中静态方法与 实例方法
java·开发语言
卷无止境27 分钟前
FastAPI 前端托管全攻略:从静态文件到大型全栈项目架构
后端·python
QQ5416451211 小时前
【驿帮查件助手python开源】开源聚合查件机器人,实现 24 类驿站批量查件取代短信通知。技术方案分享
python·机器人·开源·驿站查件机器人
卷无止境1 小时前
当FastAPI项目开始"膨胀",代码该往哪儿放
后端·python
用户8356290780511 小时前
Python设置PowerPoint幻灯片背景的方法
后端·python
wang_yb1 小时前
Python 中 10 个最常用的统计函数
python·databook
databook1 小时前
Python 中 10 个最常用的统计函数
python·数据分析
大白同学4212 小时前
初识Qt——创建第一个Qt项目
开发语言·qt
祈禾2 小时前
计算机组成原理之编译、汇编、链接、解释
开发语言·汇编·笔记·学习