这是我参与更文挑战的第 4 天,活动详情查看: 更文挑战
回顾复习
python字符串,是我们最常用的数据类型,本期就来学习,我们日常工作一些常见使用方法。
字符串的本质是:字符序列。python的字符串是不可变的,无法对原字符串做任何修改。
python不支持单字符类型,单字符也是作为一个字符串使用的。
python3默认编码是Unicode,可以表示世界上任何书面语言的字符。Python3的字符默认是16为Unicode编码,ASCII码是Unicode编码子集。
1.字符编码
python3默认编码是Unicode,可以表示世界上任何书面语言的字符。
Python3的字符默认是16为Unicode编码,ASCII码是Unicode编码子集。
#定义一个单字符
Name = "B"
#使用ord(),查看字符的Unicode编码
print(ord(Name)) #Unicode 码为66
#使用chr().把十进制数字转换成对应的字符
print(chr(66)) #字符为'B'
2.字符串长度
# 定义一个空字符
Name = " "
# 使用len()函数
print(len(Name)) #打开印空字符的长度为0
# 定义一个字符串
MyName = "JUEJING"
# 使用len()函数
print(len(MyName)) #打开印空字符的长度为7
3.转义字符
我们可以使用"+特殊字符",实现某些难以用字符表示的效果。比如,换行等
常见的转义字符如下:
#定义一个字符串
Word = "ILikeJUEJING"
# 添加换行符 \n
Word2 = "I\nLike\nJUEJING"
print(Word)
print(Word2)
4.切割字符串
4.1 使用 [头下标:尾下标]
python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头
Word = "JUEJING"
# 从左到右索引
print(Word)
print(Word[0]) # J
print(Word[1:5]) # UEJI
print(Word[1:]) # UEJING
Word = "JUEJING"
# 从右到左索引
print(Word[-7:]) # 与Word一样
print(Word[-6:-4]) #UE
print(Word[-6:-1:2]) #从U开始到G,取间隔2个到字母
print(Word[::-1]) #逆序输出
结果展示:
4.2 使用split()函数
python内置的split()的函数,可以基于指定分隔符将字符串分隔对多个子字符串(存储在列表中)
如果不指定分隔符,则默认为使用空白字符(换行符/空格/制表符)
#定义一个字符串
Word = "I Like JUEJING Like"
#使用split()函数进行分割
print(Word.split()) #默认空格
print(Word.split("Li")) #指定分隔
5.拼接字符串
5.1 使用 + 来拼接
操作技巧:
- 可以使用 + 将多个字符串拼接起来。 (1)如果+ 两边都是字符串,则拼接
(2)如果+两边都是数字,则加法运算
(3)如果+两边类型不同,则抛出异常
# 定义3个字符串
w1 = "I"
n1 = 2
n2 = 3
w2 = "Like"
# 进行拼接操作
print(w1+w2) # 两边都是字符串,则进行拼接
print(n1+n2) # 两边都是数字,则进行加法运算
print(w1+n1) # 会报错
- 可以将多个字面字符串直接放到一起实现拼接。
# 定义3个字符串
w1 = "I"
w2 = "Like"
w3 = "JUEJING"
# 使用加号讲他们拼接起来
w4 = w1+w2+w3
print(w4) #打印w4 "ILikeJUEJING"
内存形式变化情况如下:
5.2 使用join()函数
python内置函数join()函数,可以将一系列子字符串连接起来
# 定义对象
a = ['I','Like','JUEJING']
#使用join()函数连接起来
print(" ".join(a))
拼接字符串重点:
-
对性能不要求:“+”和join()函数都可以使用
-
对性能有要求的话:建议使用join() 原因:使用字符串拼接符“+”,会生成新的字符串对象;使用join()函数,在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象
6.字符串比较
首先,我们了解一下python的字符串驻留机制
字符串驻留: 仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中
Python 支持字符串驻留机制,对于符合标识符规则的字符串(仅包括下划线(_),字母和数字)会启用字符串驻留机制。
字符串比较和同一性
我们可以直接使用 == ,!= 对字符串进行比较,是否含有相同的字符
我们使用is和not is,判断两个对象是否为同一个对象,是id(obj1)和id(odj2)s是相等
7.字符串常用方法
7.1 常用的查找方法:
w = "JUEJING"
| 方法 | 说明 |
|---|---|
| len(w) | 字符串长度 |
| w.startswith("JU") | 以指定字符串开通 |
| w.endswith("NG") | 字符串长度 |
| w.find("JU") | 第一次出现指定字符串的位置 |
| w.rfind("J") | 最后一次出现指定字符串的位置 |
| w.count("J") | 指定字符串出现的次数 |
| w.isalnum() | 所有字符石字母或数字 |
7.2 去首尾信息
我们可以通过strip()去除字符串首尾指定信息。
通过lstrip()去除字符串左边的指定信息
通过rstrip()去除字符串右边边的指定信息
7.3 格式排版
我们可以使用center(),ljust(),rjust()三个函数用于对字符串实现排版
7.4 其他方法
- isalnum() 是否为字母或者数字
- isalpha() 检查字符串是否由字母组成(含汉字)
- isdigit() 检查字符串是否由数字组成
- isspace() 检查是否为空白符
- isupper() 检查是否为大写字母
- islower() 检查是否为小写字母