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

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.lryc.cn/news/604254.html

相关文章:

  • 快速了解逻辑回归
  • Kubernetes自动扩容方案
  • Linux 系统启动与 GRUB2 核心操作指南
  • BreachForums 黑客论坛强势回归
  • 【数据结构】用堆实现排序
  • Typecho handsome新增评论区QQ,抖音,b站等表情包
  • python基础:request请求Cookie保持登录状态
  • 关于算法的一些思考
  • PyCharm插件开发与定制指南:打造个性化开发环境
  • Vulnhub napping-1.0.1靶机渗透攻略详解
  • ITIL 4 高速IT:解耦架构——构建快速迭代的技术基座
  • JDK17 新特性跟学梳理
  • 深入解析Java元注解与运行时处理
  • [leetcode] 组合总和
  • C++多态:面向对象编程的灵魂之
  • DeepCompare文件深度对比软件的差异内容提取与保存功能深度解析
  • ESP8266 AT 固件
  • 破解企业无公网 IP 难题:可行路径与实现方法?
  • 系统学习算法:专题十五 哈希表
  • 网络安全第15集
  • docker docker、swarm 全流程执行
  • vue3插槽详解
  • Linux 线程概念与控制
  • C#_ArrayList动态数组
  • 3D打印喷头的基本结构
  • [css]旋转流光效果
  • 机械臂抓取的无模型碰撞检测代码
  • Export useForm doesn‘t exist in target module
  • 前端手写贴
  • zoho crm为什么xx是deal的关联对象但是调用函数时报错说不是关联对象