(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!'
print(s[13]) #IndexError: string index out of range
索引值超出序号范围时,将会产生“索引超出范围”的错误
空字符串索引也会产生“索引超出范围”的错误
print(''[0]) #IndexError: string index out of range
索引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'