当前位置:首页>python>Python入门必看:字符串 str 详解|文本处理神器

Python入门必看:字符串 str 详解|文本处理神器

  • 2026-09-20 15:59:11
Python入门必看:字符串 str 详解|文本处理神器

我是 Jerry,一个正在学 Python 的普通人。

前面写了列表、元组、字典、集合,都是数据类型。今天聊聊字符串 —— Python 里用的最多的东西,几乎没有之一。


一、字符串到底是啥?

字符串就是一段文本,用引号包起来。

# 用单引号name='Jerry'# 用双引号name="Jerry"# 用三引号(多行字符串)text="""这是多行字符串"""

字符串特点:

  • 不可变 —— 创建后不能修改

  • 有索引 —— 可以用下标访问单个字符

  • 有顺序 —— 从左到右有顺序


二、创建字符串的几种方式

1. 基本创建

# 单引号s1='hello'# 双引号s2="hello"# 三引号(多行)s3="""这是多行字符串"""

2. 转义字符

# 换行 \ns="第一行\n第二行"print(s)# 第一行# 第二行# 制表符 \ts="名字\t年龄"print(s)  # 名字    年龄# 转义引号s="他说:\"你好\""print(s)  # 他说:"你好"

3. 原始字符串(不转义)

# 前面加 rpath=r"C:\Users\Jerry\Desktop"print(path)  # C:\Users\Jerry\Desktop

三、字符串的索引和切片

1. 索引(下标)

s="Python"# 正向索引:从0开始print(s[0])  # Pprint(s[1])  # yprint(s[2])  # t# 负向索引:从-1开始(最后一个字符)print(s[-1])  # nprint(s[-2])  # oprint(s[-3])  # h

2. 切片(截取一段)

s="Python"# s[开始:结束] —— 包含开始,不包含结束print(s[0:3])   # Pytprint(s[1:4])   # yth# s[:结束] —— 从头开始print(s[:3])    # Pyt# s[开始:] —— 到末尾结束print(s[3:])    # hon# s[:] —— 复制整个字符串print(s[:])     # Python# s[开始:结束:步长]print(s[::2])   # Pto(每隔一个取一个)print(s[::-1])  # nohtyP(反转字符串)

四、字符串的常用操作

1. 查找

s="Hello World"# find() —— 查找子串位置(找不到返回-1)print(s.find("World"))    # 6print(s.find("Python"))   # -1# index() —— 查找子串位置(找不到报错)print(s.index("World"))   # 6# print(s.index("Python"))  # 报错# in —— 判断是否包含print("World"ins)   # Trueprint("Python"ins)  # False# startswith() / endswith()print(s.startswith("Hello"))  # Trueprint(s.endswith("World"))    # True

2. 替换

s="Hello World"# replace() —— 替换print(s.replace("World", "Python"))  # Hello Pythonprint(s.replace("o", "0"))           # Hell0 W0rld# split() —— 分割(返回列表)s="苹果,香蕉,橙子"print(s.split(","))  # ['苹果', '香蕉', '橙子']s="a b c d"print(s.split())     # ['a', 'b', 'c', 'd']

3. 大小写转换

s="Hello World"# 大小写转换print(s.upper())      # HELLO WORLD 全转大写print(s.lower())      # hello world 全转小写print(s.title())      # Hello World 单词首字母大写print(s.capitalize()) # Hello world 首字母大写# 大小写判断print(s.isupper())   # Falseprint(s.islower())   # Falseprint(s.istitle())   # False

4. 去除空白

s="  Hello World  "# 去除空格print(s.strip())     # Hello World(去除两端空格)print(s.lstrip())    # Hello World  (去除左边空格)print(s.rstrip())    #   Hello World(去除右边空格)# 判断是否全是空白print(s.isspace())   # Falseprint("   ".isspace())  # True

5. 格式化

# 方法一:f-string(推荐)name="Jerry"age=18print(f"我叫{name},今年{age}岁")  # 我叫Jerry,今年18岁# 方法二:format()print("我叫{},今年{}岁".format(name, age))# 方法三:% 格式化print("我叫%s,今年%d岁"% (name, age))
这个在之前的文章中提到过:【Python 干货】3 种字符串格式化方法,f-stringyyds!

五、字符串的拼接和重复

1. 拼接

# 用 + 号s1="Hello"s2="World"print(s1+s2)  # HelloWorld# 用 join()words= ["苹果", "香蕉", "橙子"]print(",".join(words))  # 苹果,香蕉,橙子,使用,连接print("-".join(words)) # 苹果-香蕉-橙子,使用-连接

2. 重复

s="Python"print(s*3)  # PythonPythonPythonprint("-"*20)  # -------------------- 重复20遍

六、实战案例:处理用户输入

# 场景:处理用户输入的名字name="   jerry  "# 1. 去除空格name=name.strip()print(name)  # jerry# 2. 首字母大写name=name.title()print(name)  # Jerry# 3. 检查是否有效if len(name) <2:print("名字太短")elif not name.isalpha():print("名字不能包含数字")else:print(f"有效名字: {name}")

七、实战案例:统计字符出现次数

# 统计一句话中每个字符出现几次text="hello world"# 用字典统计count= {}forcharintext:ifchar!=" ":  # 跳过空格count[char] =count.get(char, 0) +1print(count)# {'h': 1, 'e': 1, 'l': 3, 'o': 2, 'w': 1, 'r': 1, 'd': 1}

八、什么时候用什么操作?

需求用什么
查字串在不在in
查位置find() / index()
替换replace()
分割split()
合并join()
开头/结尾判断startswith() / endswith()
大小写upper() / lower()
去空格strip()
格式化f-string
切片s[0:3]

最后说两句

日常开发中,字符串操作特别频繁:

  • 处理用户输入

  • 读写文件

  • 爬虫抓数据

  • 写日志

今天的内容:

  • 字符串创建方式

  • 索引和切片

  • 常用操作(查找、替换、分割、大小写)

  • 字符串格式化

  • 实战案例

下篇打算写 函数,教你如何封装自己的代码。


关注「AI 学习成长记」,我踩过的坑你别再踩。

最新文章

随机文章