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'>

二、字符串运算符

  1. +:字符串拼接

    print("10" + "10")  # 1010(字符串拼接)
    name1 = "qwdjn"
    name2 = "adnc\n"
    print(name1 + name2)  # 拼接两个字符串
    
  2. *:重复输出

    print((name1 + name2) * 10)  # 将拼接后的字符串重复输出10次
    
  3. 成员运算符

    • in:检查子字符串是否存在,存在返回 True
    • not 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结束)
posted @ 2025-08-23 11:03  RaLi  阅读(0)  评论(0)    收藏  举报  来源