(1)字符串:
Python内置了一系列的数据类型,其中最主要的内置类型是数值类型、文本序列(字符串)类型、序列(列表、元组和range)类型、集合类型、映射(字典)类型。本章在介绍字符串、列表、元组和range类型共有的通用序列操作方法的基础上,详细讲解字符串类型的创建、表示、字符串遍历、字符串操作、字符串处理方法和格式化等内容。并以random库的一些应用为例讲授字符串的实际应用,同时进一步加强流程控制语句的相关知识的应用训练。
(2)字符串通用操作
字符串使用一对单引号(’ ‘)、双引号(" ")或三引号
(’‘’ ‘’'或"“” “”")包围起来的0个或多个字符
s0= 'Hello World!' Hello World! Hello World!' s1= "Hello World!" s2= ''# 空字符串,长度为0 s3= ''# 空格字符串,长度为1
print(len('Hello world')) # 11 字符串的长度len() print(len('')) # 0 字符串包含的全部字符的数量 空字符串的长度为0 print(max('Hello,2021!')) # o 字符串的最大值max()和min() 返回字符串中Unicode编码值最大的字符 print(min('Hello,2021!')) # !
字符串称为字符序列
Hello Python!'长度13
每个字符有正向和逆向两种序号
(3)索引
s = 'Hello Python!' print(s[0]) # H print(s[4]) # o print(s[-1]) # ! print(s[-7]) # P
索引s[i]通过序号获取对应的字符
s = 'Hello Python!' TypeError: string indices must be integers 索引值为浮点数时,将会产生“字符串索引必须为整数”的错误 print(s[10 / 5]) # 10/5=2.0 print(s[10.0 // 5]) # 10.0//5 = 2.0 print(s[int(10.0 // 5)]) # l
(4)切片
切片: s[start: end]返回序号在start和end之间的字符串
s = 'Hello Python!' print(s[6:12]) # 从序号6到12(不包括12)的字符串'Python'
切片: s[start: end]返回序号在start和end之间的字符串
s = 'Hello Python!' print(s[-3:-1]) # 从序号-3到-1(不包括-1)的字符串'on' 可用逆向序号切片
切片: s[start: end]返回序号在start和end之间的字符串
s = 'Hello Python!' print(s[6:-1]) #从序号6到-1(不包括-1)的字符串'Python' 可以正向和逆向序号混用切片
切片: s[start: end]返回序号在start和end之间的字符串
start 省略时从序号0 开始 print(s[:5]) # 从序号0到5(不包括5)的字符串'Hello' s = 'Hello Python!'
切片: s[start: end]返回序号在start和end之间的字符串
print(s[6:]) # 从序号6向后到字符串结束的字符串'Python!' end 省略时,到最后一个字符结束,包括最后一个字符 s = 'Hello Python!'
切片: s[start: end]返回序号在start和end之间的字符串
print(s[:]) # 从字符串开始到结束进行切片'Hello Python!' start和end 都省略时,获得整个字符串的一个拷贝 s = 'Hello Python!'
切片: s[start: end: step]每step个字符切取一个字符拼接为字符串
print(s[0::2]) # 步长为2,序号为偶数的字符'HloPto!' 正数表示正向切片 s = 'Hello Python!'
切片: s[start: end: step]每step个字符切取一个字符拼接为字符串
print(s[-1::-1]) # 步长为-1,'!nohtyP olleH' 负数表示逆向切片 s = 'Hello Python!' print(s[::-1]) # 步长为-1,'!nohtyP olleH' 字符串逆序
切片: s[start: end: step]每step个字符切取一个字符拼接为字符串
print(s[-1::-2]) # 步长为-2,逆向序号为奇数的字符'!otPolH' 负数表示逆向切片 s = 'Hello Python!'
(5)字符串的拼接
字符串的拼接s +t
'2021年7月' print('2021' + '年' + '7' + '月')
将输入的电话号码中间4位用*代替输出
phone = input() # 13297966288 private = phone[:3] + '****' + phone[7:] print(private) # 132****6288
字符串的重复s * n 或n * s
print('=' * 10) # '='重复10次 print('欢迎' * 3)# n 为正整数 print('=' * 10) # n为负数时结果为空字符串 ========== 欢迎欢迎欢迎 ========== print('=' * 10.5) # n为浮点数时触发异常 TypeError: can't multiply sequence by non-int of type 'float'