目录
- 什么是字符串
- 字符串的定义
- 字符串的性质
- 创建字符串
- 字符串的拼接、重复
- 字符串的比较大小
- chr与ord
- 字符串遍历
- 字符串的成员运算
- 修改字母大小写方法
- max、min:找出字符串中的最大值和最小值(按照编码值寻找)
- count:计数,统计某个符号的次数
- len:查看字符串中元素个数(字符串的长度)
- index:查找某个元素的第一次出现的位置,找到之后结束查找;找不到报错。
- str3.index('4')
- find:和index方法一样,但是find方法不会报错 在字符串在查找子串,如果找到,则反回子串第一个字符的索引,找不到元素返回-1
- split:将字符串按照指定的元素进行切割,返回一个列表,列表中的元素便是切割点左右两边的元素
- join:将字符串容器(字符串列表、字符串、字符串元组等)中的所有元素按照指定的符号拼接。
- replace:替换,能够将字符串中指定的旧字符串换成新的字符串
- replace还可以指定替换次数
- strip:去掉字符串头尾的空白符号(空格、\n、\t等)
- strip还可以指定被去掉的符号
什么是字符串
对于计算机来说,字符串就是一堆没有意义的符号。只是人根据自然语言,想象出和这一堆符号相关的含义。
字符串的定义
字符串就是由引号引起来的有限个符号的合集。
字符串的性质
- 字符串是有序的容器型数据类型。(下标)
- 字符串是不可变的容器型数据类型。(字符串中的元素一旦确定(字符串被定义出来时),无法再次修改。没有增删改)
- 字符串是使用引号(单引号、双引号、三引号)作为容器符号
- 字符串的数据类型:str
- 除了特殊符号(转义字符)之外,所有的符号放入到字符串中只能代表其本身。
- 字符串分为:普通字符和转义字符。
创建字符串
In:
str1 = ''
print(str1, type(str1))
Out:
<class 'str'>
字符串的拼接、重复
In:
str2 = 'abcd'
str3 = '1234'
print(str2 + str3)
print(str2 * 10)
Out:
abcd1234
abcdabcdabcdabcdabcdabcdabcdabcdabcdabcd
字符串的比较大小
- 字符串比较大小比较的是同位置的元素。
- 从左向右比较大小,直到比较到第一对不相同元素,来区分大小。
- 字符串比较大小比较的是编码值的大小(Python2使用的是ASCII编码表,Python3使用的是Unicode编码表(万国码,utf-8))。
- 09的范围:48-57;AZ:65-90;a~z:97-122
In:
str2 = 'abcd'
str3 = '1234'
print(str2 > str3)
print('兔' > '虎')
Out:
chr与ord
- chr:能够将编码值转换为对应的符号
- ord:能够将编码表中的符号转换成对应的十进制数值。
In:
print(ord('兔'), ord('虎'))
print(chr(20820))
Out:
20820 34382
兔
把所有的Unicode编码表中的符号拿出来。
i = 0
while True:
print(chr(i), end='')
i += 1
中文的范围:十六进制范围:\u4e00~\u9fa5
print(ord('\u4e00'), ord('\u9fa5'))
for i in range(19968, 40870):
print(chr(i), end='')
字符串遍历
In:
str1 = "kdcajtdu"
for i in str1:
print(i)
for i in range(len(str1)):
print(i,str1[i])
Out:
字符串的成员运算
not in,in
In:
str1 = '王者荣耀和平精英'
print('王' in str1)
print('王者' in str1)
print('王荣' not in str1)
Out:
True
True
True
修改字母大小写方法
upper:将所有小写字母转换为大写
In:
str1 = "1123andbooVUYCUC"
print(str1.upper())
Out:
1123ANDBOOVUYCUC
lower 将所有大写字母转换为小写
In:
str1 = "1123andbooVUYCUC"
print(str1.lower())
Out:
1123andboovuycuc
max、min:找出字符串中的最大值和最小值(按照编码值寻找)
str1 = 'abcdeABCDE'
print(min(str1), max(str1))
count:计数,统计某个符号的次数
str2 = '12345abcde'
print(str2.count('1'))
len:查看字符串中元素个数(字符串的长度)
总结:len方法能够查看容器的长度(字符串、列表、元组、集合、字典)
index:查找某个元素的第一次出现的位置,找到之后结束查找;找不到报错。
查找方式:默认就是从左向右正序查找。
语法:str1.index(str2) -->在str1中查找str2第一次出现的位置。
语法二:str1.index(str2, 开始下标) --> 可以指定开始查找的位置
str3 = 'abcde123abcde'
print(str3.index('c'))
print(str3.index('c', str3.index('c') + 1)) #查找第二个c的位置?
str3.index(‘4’)
find:和index方法一样,但是find方法不会报错 在字符串在查找子串,如果找到,则反回子串第一个字符的索引,找不到元素返回-1
print('find方法', str3.find('c'))
print('find方法', str3.find('4'))
print('find子串方法', str3.find('cd'))
可以指定查找的位置
print('find方法', str3.find('a',6,10))
注意起点和终点值,只包含起点不包含终点,这是python惯常的做法
可以指定查找次数
print('find方法', str3.find('c', str3.find('c') + 1))
print('find子串方法', str3.find('cd',str3.find('cd') + 1))
split:将字符串按照指定的元素进行切割,返回一个列表,列表中的元素便是切割点左右两边的元素
str4 = '1 2 3 4 5 6 7 8'
strList = str4.split(' ')
print(strList)
注意如果没有指定分隔符,将默认在单个或者多个连续的空白字符(空格,制表符,换行符等)处进行拆分
print(str4.split())
join:将字符串容器(字符串列表、字符串、字符串元组等)中的所有元素按照指定的符号拼接。
str5 = '+'.join(strList)
print(str5)
replace:替换,能够将字符串中指定的旧字符串换成新的字符串
replace还可以指定替换次数
str4 = '1 2 3 4 5 6 7 8'
print(str4.replace(' ', '+'))
print(str4.replace(' ', '+', 2))
strip:去掉字符串头尾的空白符号(空格、\n、\t等)
strip还可以指定被去掉的符号
print('*************')
str6 = '\t abc 123 \n'
print(str6)
print('*************')
print(str6.strip())
print('*************')
print(str6.strip('\n'))
print('*************')
户不下心在末尾输入了空格
mima = '1234567 '
if mima.strip() in mima : print('末尾有空格')