字符串"/>
Python基本数据类型之字符串
文章目录
- 变量类型之字符串
- 一、字符串的性质
- 二、字符串的分类
- 1.字符串又分为转义字符、原始字符串和一般字符串三种。
- 三、字符串的基本操作
- 1.字符串能实现拼接、重复、成员运算、比较大小等基本操作,其中比较大小还涉及到进制转换。
- 2.字符串也能实现跟列表一样的通过下标找元素,切片等操作。
- 3.字符串的遍历也有两种
- 四、字符串的方法
- 1.字符串的方法有:
- 2.字符串的各种方法的应用
- 3.字符串方法的补充
- 五、字符串推导式
变量类型之字符串
一、字符串的性质
- 字符串是有序数据类型(存在下标)
- 字符串是不可变数据类型(不存在增删改)
- 字符串容器符号:引号括起来的内容,数据类型:str
二、字符串的分类
1.字符串又分为转义字符、原始字符串和一般字符串三种。
-
a) 转义字符串:C语言开始规定"反斜杠\ + ASCII某些特定的符号"能够展示出特殊的含义,Python延续了C语言的规定。
-
b) 常见的[转义字符串](Python3 字符串 | 菜鸟教程 (runoob))有:
- \n:换行;\t:制表符;\:一个反斜杠;':一个单引号;":一个双引号。
- 一个转义字符长度为1。
- 反斜杠:在已经规定好的转义字符中,反斜杠是转义字符的标志,一个反斜杠添加到一个符号前,能够使其具有特殊含义,在这些转义字符前再添加一个反斜杠,能使其特殊含义消失。
print('abcd') print('ab\ncd') print('ab\tcd') print('abcd\\n') # 打印结果为: # abcd # ab # cd # ab cd # abcd\n
- \n:换行;\t:制表符;\:一个反斜杠;':一个单引号;":一个双引号。
-
c) 原始字符串
- 在一个字符串前面添加r或者R,能够使所有具有特殊含义的字符失效。
print('ab\ncd', len('ab\ncd')) print(r'ab\ncd', len(r'ab\ncd')) # 打印结果为: # ab # cd 5 # ab\ncd 6
- 应用场景:
- 1.使路径(绝对路径、相对路径)中的可能出现的转义字符失效。
- 2.使正则表达式中某些转义字符失效。
三、字符串的基本操作
1.字符串能实现拼接、重复、成员运算、比较大小等基本操作,其中比较大小还涉及到进制转换。
-
a) 字符串的拼接
str1 = 'abcd' str2 = 'abde' str3='123456789' print(str1 + str2, str1, str2) print(str3 + '你好') # abcdabde abcd abde # 123456789你好
-
b) 字符串的重复
print('-' * 20) str='123456789' print(str * 2) # -------------------- # 123456789123456789
-
c) 字符串的成员运算(in、not in )
str3 = 'abcde123' print('a' in str3) # print(1 in str3) # TypeError: 'in <string>' requires string as left operand, not int print('1' in str3) print('123' in str3) print('ace' in str3) # 打印结果:TrueTrueTrueFalse
-
d) 字符串的比较大小运算
- 字符串比较大小比较的是第一对不同元素的编码值大小
-
其中涉及到ord()和chr()两种方法:
- ord() :将单一符号转换为十进制整数。
- chr() :将十进制数值转换为单一符号。
- ASCII编码表:美国人订制,一共涉及到128个符号。
- 英文字母:A-Z:65-90; a-z:97-122;
- 数字:0-9:48-57;
print('a' > 'A')print('abcd' > 'abce')print(ord('a'))print(chr(97)) # 打印结果是:TrueFalse97a
2.字符串也能实现跟列表一样的通过下标找元素,切片等操作。
-
字符串的切片也称索引,方法基本跟列表一样。
str4='HelloPython'print(str4) # 输出字符串 print(str4[0:-1]) # 输出第一个到倒数第二个的所有字符 print(str4[0]) # 输出字符串第一个字符 print(str4[2:5]) # 输出从第三个开始到第五个的字符 print(str4[2:]) # 输出从第三个开始后的所有字符 print(str4[1:5:2]) # 输出从第二个开始到第五个且每隔一个的字符(步长为2) print(str4[-1:-10:-1]) # 输出倒序的字符串 print(str4[::-1]) # 输出倒序的字符串 print(str4[::-3]) # 输出步长为3的倒序字符串# HelloPythonHelloPythoHllolloPythonelnohtyPolleHnohtyPolleHntoe
3.字符串的遍历也有两种
-
a) 直接遍历:for 循环遍历,for 变量 in 字符串:
-
b) 间接遍历:引入len方法,对字符串的下标进行操作。
str1 = '123456789' # 1.直接遍历 for i in str1:print(i) # 1 2 3 4 5 6 7 8 9 # 2.间接遍历 for i in range(len(str1)):print(f'{i}-->{str1[i]}') # 0-->11-->22-->33-->44-->55-->66-->77-->88-->9
四、字符串的方法
1.字符串的方法有:
- 查找:find、rfind。 index、rindex。
- 大小写转换:upper、lower、title、capitalize。
- 切割:split。
- 合并:join。
- 替换:replace。
- 去除两端符号:strip。
2.字符串的各种方法的应用
-
a) 查找
-
find、rfind查找
-
find -->从左向右查找,找到第一个出现的位置就停止查找。或者指定开始查找的位置。找不到返回-1
- rfind -->从右向左查找,查找某个字符在字符串中的位置,返回的也是正向下标。
# find查找元素,返回对应下标 str1 = 'abcd123a' print(str1.find('a')) print(str1.find('a', 1)) print(str1.find('A')) # 0 7 -1# rfind查找元素 print(str1.rfind('a')) print(str1.rfind('A')) # 7 -1
-
index、rindex查找
- index–>从左向右查找元素,找到第一个出现的位置就停止查找。或者指定开始查找的位置。找不到报错。
- rindex–>从右向左查找元素,找到第一个出现的位置就停止查找。找不到报错。
# index查找元素 str1 = 'abcd123a' print(str1.index('a')) print(str1.index('a', 1)) print(str1.index('A')) # 0 7substring not found 找不到子字符串# rindex查找元素 print(str1.rindex('a')) print(str1.rindex('A')) # 7substring not found 找不到子字符串
-
-
b) 大小写转换
-
upper:将字符串中所有的小写字母转大写。
str2 = 'abc123def' print(str2.upper()) # ABC123DEF
-
lower:将字符串中所有的大写字母转小写。
print(str2.upper().lower()) # abc123def
-
title:将字符串中每个单词的首字母大写。
print(str2.title()) # Abc123Def
-
capitalize:如果字符串的开头是小写字母,转大写。
print(str2.capitalize()) # Abc123def
-
-
c) 切割:split
-
split:切割,以字符串中某个符号作为切割点,将切割点左右两边的元素放入列表。
str3 = ',a,b,c,d,e,' strList = str3.split(',') print(strList) # ['', 'a', 'b', 'c', 'd', 'e', '']
-
-
d) 合并:join
-
join: 合并,以指定的连接符将一个字符串容器中所有元素连接。
str4 = ','.join(strList) print(str4) # ,a,b,c,d,e,
-
-
e) 替换:replace
-
replace:replace(old,new) - 将字符串中所有的old子串替换成new字符串。
print(str4.replace(',', '')) # abcde
-
replace:replace(old,new,count) - 将字符串中指定count个的old子串替换成new字符串。
print(str4.replace(',', '', 2)) # ab,c,d,e,
-
-
f) 去除两端符号:strip
-
strip: 默认将字符串两端的空白符号(空格、\t、\n、\v等)去除;还可以指定字符串两端要去除的符号。
print(str4.strip(',')) # a,b,c,d,e
-
3.字符串方法的补充
- 看完字符串的这些方法是不是觉得不过瘾,字符串在python中内置的方法远远不止这些,若你想深入了解的话,请点击如下链接,带你一次看个够,Python字符串的内键函数方法。
五、字符串推导式
-
字符串推导式和列表相似,不同的是字符串推导式一般是和 join 方法搭配在一起使用的。
-
字符串类型推导式,推导式里边的元素必须是字符串。
-
字符串的形式,例如:
s = "|" # 字符串.join表示将其他元素用符号合并。 print(s.join(i for i in ['hello','world','lixin'])) print(s.join(['hello','world','lixin'])) print(s.join(str(i) for i in range(10) if i % 2 == 0)) #高级推导式if进行判断
-
字符串的形式,例如:
s = "|" # 字符串.join表示将其他元素用符号合并。 print(s.join(i for i in ['hello','world','lixin'])) print(s.join(['hello','world','lixin'])) print(s.join(str(i) for i in range(10) if i % 2 == 0)) #高级推导式if进行判断
更多推荐
Python基本数据类型之字符串
发布评论