字符串知识模块

74 阅读3分钟

以下是字符串内容模块的常用知识点,适合用于知识思维导图:

1. 字符串基本操作

  • 字符串创建:通过直接赋值、字符串连接等方式创建字符串。

    • 字符串字面量(单引号 ' 或双引号 "
    • 多行字符串(使用三引号 '''"""
  • 字符串长度:使用 len() 函数获取字符串的长度。

  • 字符串索引与切片

    • 索引:string[index]
    • 切片:string[start:end]
  • 字符串拼接:通过 +join() 拼接多个字符串。

  • 字符串重复:使用 * 操作符重复字符串。

  • 字符串转化

    • 大小写转换:upper(), lower(), capitalize(), title(), swapcase()
    • 剔除空白:strip(), lstrip(), rstrip()
    • 替换字符:replace(old, new)
    • 切割:split()(按指定分隔符切割字符串)
    • 查找:find(), index()(查找子字符串的起始位置)

2. 字符串格式化

  • f-string(Python 3.6+):通过在字符串前加 f,直接插入变量或表达式。

    • 基本用法:f"Hello, {name}"
    • 格式化数字:f"{value:.2f}"(控制小数位数)
    • 填充与对齐:f"{text:<10}", f"{text:>10}", f"{text:^10}"
    • 日期格式化:f"{date:%Y-%m-%d}"
  • str.format() 方法:通过 {} 占位符和 .format() 方法插入变量。

    • 基本用法:"Hello, {}".format(name)
    • 按位置:"{} {}".format(first_name, last_name)
    • 按关键字:"{name} is {age} years old.".format(name="Alice", age=30)
    • 格式化:"{:.2f}".format(value)
  • 百分号 % 格式化(传统格式化方法):

    • %s, %d, %f 等占位符。

3. 字符串编码与解码

  • 编码:使用 encode() 将字符串转换为字节。

    • 示例:string.encode('utf-8')
  • 解码:使用 decode() 将字节转换回字符串。

    • 示例:bytes.decode('utf-8')
  • 字符集:常见字符集有 UTF-8, ASCII, ISO-8859-1 等。

4. 字符串查找与替换

  • 查找

    • find(substring):返回子字符串的起始索引,找不到时返回 -1。
    • index(substring):与 find() 类似,但找不到时抛出异常。
    • count(substring):统计子字符串出现的次数。
  • 替换

    • replace(old, new):将字符串中的某部分替换为新内容。
    • translate():通过映射表替换字符串中的字符。

5. 正则表达式

  • 模块re 模块。

  • 常见函数

    • re.match(): 从字符串的起始位置匹配正则表达式。
    • re.search(): 搜索整个字符串,找到第一个匹配项。
    • re.findall(): 返回所有匹配的结果。
    • re.sub(): 替换匹配的部分。
  • 正则表达式语法

    • 元字符:., ^, $, *, +, ?, {n,m}, [], (), |, \d, \w 等。
    • 分组与捕获:() 用于分组,\ 转义字符。

6. 字符串操作的常用方法

  • 检查字符串内容

    • startswith(prefix): 检查是否以指定前缀开始。
    • endswith(suffix): 检查是否以指定后缀结束。
    • isalpha(), isdigit(), isalnum(), isspace(): 检查是否为字母、数字、字母数字或空格。
  • 转换方法

    • join(iterable):将迭代器中的所有元素连接成一个字符串。
    • split(sep):根据分隔符将字符串拆分成列表。
    • partition(sep):将字符串分割为三部分:分隔符前、分隔符、分隔符后。

7. 字符串优化技巧

  • 高效拼接:使用 str.join() 拼接多个字符串,比 + 更高效。
  • 内存优化:避免在循环中频繁创建新字符串,使用 list 存储拼接的字符串,最后再 join()
  • 格式化优化:当格式化字符串内容时,使用 f-string(Python 3.6+)是性能最佳的选择。

8. Unicode 与编码

  • Unicode字符与编码:Python 使用 Unicode 处理字符串,支持多种字符集。

    • ord():将字符转换为 Unicode 编码点。
    • chr():将 Unicode 编码点转换为字符。
  • 多语言支持:使用 encode()decode() 支持多语言字符的处理。


这些知识点可作为字符串处理的全面参考,适合在学习过程中进一步拓展。