以下是字符串内容模块的常用知识点,适合用于知识思维导图:
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()支持多语言字符的处理。
这些知识点可作为字符串处理的全面参考,适合在学习过程中进一步拓展。