当前位置: 首页 > java >正文

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

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

目录

  • Python 程序设计讲义(27):字符串的用法——字符串的常用操作
    • 一、统计字符个数
    • 二、获取字符串中的字符
        • 1、正向索引
        • 2、反向索引
    • 三、获取字符串中的子串
    • 四、拼接字符串
    • 五、使字符串重复出现n次

一、统计字符个数

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
祝你生日快乐!祝你生日快乐!祝你生日快乐!
http://www.xdnf.cn/news/16653.html

相关文章:

  • 三步给小智ESP32S3智能语音硬件接入小程序打通MCP服务
  • 【Linux】pthread学习笔记
  • 专业Python爬虫实战教程:逆向加密接口与验证码突破完整案例
  • ubuntu18.04制作raid0
  • 51c大模型~合集161
  • 代码随想录算法训练营第三十五天
  • 车载刷写架构 --- 整车刷写中为何增加了ECU 队列刷写策略?
  • idea运行tomcat日志乱码问题
  • PostgreSQL锁机制详解:从并发控制到死锁检测
  • STM32——HAL库
  • LangChain和LangGraph 里面的 `create_react_agent`有什么不同
  • 基于SpringBoot和Leaflet集成在线天气服务的区县当前天气WebGIS实战
  • VUE -- 基础知识讲解(一)
  • RabbitMQ工作模式
  • 【C#|C++】C#调用C++导出的dll之非托管的方式
  • C# _泛型
  • python线性回归:从原理到实战应用
  • 在 Vue 中,如何在回调函数中正确使用 this?
  • 单片机学习笔记.PWM
  • linux——ps命令
  • 【tips】小程序css ➕号样式
  • 站点到站点-主模式
  • cartographer 点云数据的预处理
  • 第二十四章:深入CLIP的“心脏”:Vision Transformer (ViT)架构全解析
  • vim的`:q!` 与 `ZQ` 笔记250729
  • 【C++算法】81.BFS解决FloodFill算法_岛屿的最大面积
  • 粒子群优化算法(Particle Swarm Optimization, PSO) 求解二维 Rastrigin 函数最小值问题
  • 本土化DevOps实践:Gitee为核心的协作工具链与高效落地指南
  • Python的垃圾回收机制
  • DAY21 常见的降维算法