python基础—字符串操作

(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)
# '='重复10print('欢迎' * 3)# n 为正整数
print('=' * 10)
# n为负数时结果为空字符串
==========
欢迎欢迎欢迎
==========
print('=' * 10.5)
# n为浮点数时触发异常
TypeError: can't multiply sequence by non-int of type 'float'

猜你喜欢

转载自blog.csdn.net/weixin_50804299/article/details/129263230