前言
字符串是 Python 中使用频率极高的数据类型,类型名为str,属于不可变序列。爬虫、数据清洗、文件读取、日志处理都离不开字符串操作,本文整理开发最常用知识点。
一、字符串定义
支持单引号、双引号、三引号。
# 单行字符串 s1 = 'hello python' s2 = "大数据技术" # 三引号,多行字符串,保留换行 s3 = """ 今天学习 Python字符串 """ print(s1) print(s2) print(s3)重点:字符串一旦创建,不能直接修改其中某个字符。
二、转义字符与原始字符串
print("hello\nworld") # \n 换行 print("hello\tworld") # \t 制表符 print("他说:\"好好学习\"") # \" 转义双引号 # r原始字符串,不解析转义字符,文件路径常用 path = r"C:\data\test.txt" print(path)三、索引和切片(重中之重)
正向索引从 0 开始,反向索引从 - 1 开始;切片规则:左闭右开。
s = "python" print(s[0]) # p print(s[-1]) # n print(s[0:3]) # pyt print(s[::2]) # 步长为2:pto print(s[::-1]) # 字符串反转:nohtyp四、三种字符串格式化
1. f-string(推荐,Python3.6 及以上)
name = "唐米雪" age = 20 msg = f"姓名:{name},年龄:{age}" print(msg)2. format 格式化
msg = "姓名:{},年龄:{}".format(name, age) print(msg)3. % 老式格式化(了解即可)
msg = "姓名:%s,年龄:%d" % (name, age) print(msg)五、字符串常用方法
s = " Hello Python " print(s.strip()) # 删除首尾空白 print(s.upper()) # 转大写 print(s.lower()) # 转小写 print(s.startswith("He")) # 判断是否以He开头 print(s.endswith("on")) # 判断是否以on结尾 print("Py" in s) # 判断是否包含子串 print(s.split(" ")) # 分割为列表 print("-".join(["a","b","c"])) # 列表拼接成字符串 print(s.replace("Python","Java")) # 替换子串 print(s.find("th")) # 查找下标,找不到返回-1 print(s.count("l")) # 统计字符出现次数六、字符串拼接
a = "hello" b = "world" res1 = a + b res2 = "".join([a, b]) print(res1, res2)七、类型转换
num = 666 s = str(num) # 数字转字符串 s_num = "888" n = int(s_num) # 数字字符串转整型 f = float("3.14") # 转浮点型八、遍历字符串
s = "abc" for char in s: print(char)九、小结
- str 是不可变序列,不能直接
s[0]='x'修改字符 - 切片语法
[起始:结束:步长],[::-1]快速反转 - 格式化优先使用 f-string,简洁好读
- r 字符串关闭转义,写 Windows 文件路径很方便
- 大量拼接优先
join()
字符串是数据预处理的基础,后续 Pandas 数据清洗、爬虫解析都会反复用到。