Python 字符串:编码解码、运算符、下标与切片
一、字符串编码与解码
encode():将字符串编码为字节序列(bytes 类型)decode():将字节序列解码为字符串(str 类型)
# 示例1:ASCII字符编码
a = 'hello'
print(a, type(a)) # hello <class 'str'>
a1 = a.encode() # 默认使用utf-8编码
print("编码后:", a1) # b'hello'
print(type(a1)) # <class 'bytes'>
a2 = a1.decode() # 解码
print(a2, type(a2)) # hello <class 'str'>
# 示例2:中文字符编码
st = "你好小明"
st1 = st.encode("utf-8") # 指定utf-8编码
print(st1, type(st1)) # b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\xb0\x8f\xe6\x98\x8e' <class 'bytes'>
st2 = st1.decode() # 解码
print(st2, type(st2)) # 你好小明 <class 'str'>
二、字符串运算符
-
+:字符串拼接
print("10" + "10") # 1010(字符串拼接) name1 = "qwdjn" name2 = "adnc\n" print(name1 + name2) # 拼接两个字符串 -
*:重复输出
print((name1 + name2) * 10) # 将拼接后的字符串重复输出10次 -
成员运算符
in:检查子字符串是否存在,存在返回 Truenot in:检查子字符串是否不存在,不存在返回 True
name = "qrqfe" print('q' in name) # True print('a' in name) # False print('qrq' in name) # True print('qrqr' in name) # False
三、下标(索引)
- 作用:通过下标快速访问字符串中的单个字符
- 特点:从 0 开始计数,支持负数(表示从右向左计数)
name = 'adwodj'
print(name[0]) # a(第一个字符)
print(name[1]) # d(第二个字符)
print(name[5]) # j(第六个字符)
print(name[-1]) # j(最后一个字符)
四、切片
- 含义:截取字符串的一部分
- 语法:
字符串[开始位置:结束位置:步长] - 规则:
- 包前不包后(包含开始位置,不包含结束位置)
- 步长默认是 1,表示连续截取
- 步长为正数:从左向右截取
- 步长为负数:从右向左截取
st = 'zsaihfqi'
# 基本用法
print(st[1:3]) # sa(从下标1到2)
print(st[3:]) # ihfqi(从下标3到结尾)
# 负数索引
print(st[-1:]) # i(最后一个字符)
print(st[:-1]) # zsaihfq(除了最后一个字符的所有字符)
# 步长应用
print(st[-1:-5:-1]) # iqfh(从右向左,步长为1)
print(st[-1::-1]) # iqfhiasz(反转字符串)
print(st[0:5:2]) # zah(从0开始,每2个字符取一个,到4结束)

浙公网安备 33010602011771号