Python3 字符串¶
概念与用途¶
str 是不可变的 Unicode 文本序列,用于用户界面、协议字段和文本处理。索引返回单个字符,切片返回新字符串;编码后的 bytes 才是文件和网络上传输的字节。
核心 API¶
常用方法有 strip()、split()、join()、replace()、find()、startswith() 和 casefold()。格式化优先使用 f-string;原始字符串 r"..." 常用于正则和 Windows 路径。
raw = " Alice,Python,安全 "
name, *tags = [part.strip() for part in raw.strip().split(",")]
message = f"用户 {name} 的标签:{' / '.join(tags)}"
print(message)
print(message.encode("utf-8"))
常用操作¶
| 操作 | 返回 | 注意 |
|---|---|---|
strip() |
去除两端字符的新字符串 | 参数是字符集合,不是子串 |
split(sep) |
字段列表 | 未指定 sep 时合并空白 |
join(parts) |
拼接字符串 | 元素必须都是 str |
casefold() |
激进大小写归一 | 适合无语言区分比较 |
示例:前缀删除的正确方式¶
filename = "test_report.txt"
print(filename.removeprefix("test_"))
print(filename.rstrip(".txt")) # 错误思路:按字符集合删除
print(filename.removesuffix(".txt")) # 正确删除固定后缀
Unicode 中“用户看到的字符”可能由多个码点构成,len() 不总等于字形数量。安全标识符、文件名和账户名应采用明确规范化与允许字符策略。
常见错误与工程注意¶
- 字符串不可变,
replace()等方法返回新值,必须接收返回结果。 - 不要用字符串拼接 SQL、Shell 命令或 HTML,应使用对应参数化或转义 API。
- 循环中大量
+=拼接可改用列表收集后"".join()。