5.字符串

什么是字符串

对于计算机来说,字符串就是一堆没有意义的符号。只是人根据自然语言,想象出和这一堆符号相关的含义。

字符串的定义

字符串就是由引号引起来的有限个符号的合集。

字符串的性质

  • 字符串是有序的容器型数据类型。(下标)
  • 字符串是不可变的容器型数据类型。(字符串中的元素一旦确定(字符串被定义出来时),无法再次修改。没有增删改)
  • 字符串是使用引号(单引号、双引号、三引号)作为容器符号
  • 字符串的数据类型: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('末尾有空格')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嚄825

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值