一、字符串基础 & 转义字符
1. 字符串定义
使用单引号、双引号、三引号包裹
s1 = 'Python'
s2 = "Python"
s3 = """多行
文本"""
2. 常用转义字符
以 \ 开头,用来表示特殊字符
示例:
print("Hello\nPython")
print("姓名\t年龄")
print("文件路径:C:\\Users\\Desktop")
3. 原始字符串 r''
作用:取消转义,原样输出内容,路径、正则高频使用
# 普通字符串:\ 会转义
path = "C:\new\test"
# 原始字符串 r''
path = r"C:\new\test"
print(path)
核心口诀:加 r 不转义,写路径最方便
二、字符串三大格式化
1. % 老式格式化(占位符)
常用占位符
语法
变量 = "内容%s 数字%d 小数%f" % (字符串, 整数, 小数)
示例:
name = "小明"
age = 18
score = 95.5
res = "姓名:%s,年龄:%d,分数:%.2f" % (name, age, score)
print(res)
2. format() 格式化(推荐、通用)
用法1:按顺序传参
res = "姓名:{},年龄:{}".format("小红", 20)
用法2:下标取值
res = "{0} 今年 {1} 岁,{0} 很棒".format("小刚", 19)
用法3:关键字传参
res = "姓名:{name},年龄:{age}".format(name="小李", age=21)
用法4:精度、对齐
# 保留2位小数
print("成绩:{:.2f}".format(88.956))
3. f-string 格式化(Python3.6+ 最简最强)
语法
字符串前加 f/F,{变量/表达式} 直接嵌入
name = "小白"
age = 17
res = f"姓名:{name},明年年龄:{age + 1}"
print(res)
格式控制
score = 79.666
print(f"分数:{score:.2f}")
✅ 优先级:f-string > format > %
三、字符串常用内置方法(重点必背)
所有字符串方法不会修改原字符串,只会返回新字符串
字符串是不可变类型
1. 大小写转换
upper() 全部大写
s = "python"
print(s.upper()) # PYTHON
lower() 全部小写
s = "PYTHON"
print(s.lower()) # python
2. 去除首尾空格
strip() 去除首尾空白(空格、换行、制表符)
s = " hello "
print(s.strip()) # hello
3. 分割与拼接
split() 字符串分割 → 返回列表
默认以空格分割,可指定分隔符
s = "苹果,香蕉,橘子"
lst = s.split(",")
print(lst) # ['苹果','香蕉','橘子']
join() 序列拼接为字符串
语法:分隔符.join(可迭代对象)
lst = ["2026","04","26"]
res = "-".join(lst)
print(res) # 2026-04-26
4. 替换内容
replace(旧内容, 新内容, 次数)
s = "你好 Python Python"
res = s.replace("Python", "Java")
print(res)
5. 查找操作
find() 查找下标
s = "hello python"
print(s.find("python"))
print(s.find("java")) # -1
6. 开头/结尾判断
startswith() 判断是否以指定内容开头
s = "https://www.baidu.com"
print(s.startswith("https")) # True
endswith() 判断是否以指定内容结尾
file = "data.txt"
print(file.endswith("txt")) # True
四、字符串其他补充要点
s = "abc"
# s[0] = "d" ❌ 报错
s = "abcde"
print(s[1:4]) # bcd
print("py"in"python") # True
📚 练习题(带详细讲解)
练习1 转义字符 + 原始字符串
# 正常转义
print("D:\table\file")
# 原始字符串,禁止转义
print(r"D:\table\file")
练习2 三种格式化实现
name = "张三"
score = 89.888
# %格式化
print("学生:%s,成绩:%.2f" % (name, score))
# format
print("学生:{},成绩:{:.2f}".format(name, score))
# f-string
print(f"学生:{name},成绩:{score:.2f}")
练习3 常用方法综合
s = " Hello World "
# 去空格+小写
new_s = s.strip().lower()
# 替换
res = new_s.replace("world", "python")
print(res)
练习4 分割与拼接
text = "a-b-c-d"
lst = text.split("-")
new_text = "|".join(lst)
print(new_text)
📝 本章核心总结
- 1. 转义字符:
\n\t\\;原始字符串r"" 关闭转义 - • 首尾判断:
startswith() / endswith()