刚开始学 Python 的时候,很多人觉得字符串很简单:
name = "Python"
不就是一段文字吗?
但真正开始写代码以后你会发现,处理字符串几乎无处不在:清理用户输入、拆分数据、替换内容、判断格式、拼接文本……这些操作都离不开字符串方法。
Python 给我们准备了很多现成的方法,根本不用自己重复造轮子。今天就挑出 12 个新手最常用的字符串方法,一次讲清楚。
一、strip():去掉两边多余字符
用户输入内容时,经常会不小心带上空格:
name = " Python "
print(name.strip())
结果:
Python
strip() 默认会去掉字符串开头和结尾的空白字符,但不会动中间的内容。
它还可以指定要移除的字符:
text = "---Python---"
print(text.strip("-"))
结果:
Python
处理用户输入、文件内容时,这个方法非常常见。
二、split():把一段字符串拆开
比如:
text = "Python,Java,C++"
print(text.split(","))
结果:
["Python", "Java", "C++"]
这里就是按照逗号,把一整个字符串拆成了列表。
如果你拿到的是:
小明,18,北京
就可以使用:
data = "小明,18,北京"
print(data.split(","))
把它快速拆成多个数据。
三、replace():替换字符串里的内容
想把一段文字中的某些内容换掉,可以使用 replace():
text = "我正在学习Java"
new_text = text.replace("Java", "Python")
print(new_text)
结果:
我正在学习Python
它的思路很好理解:
找到谁 → 换成谁。
在文本清洗、批量替换内容时特别实用。
四、find():查找内容出现的位置
例如:
text = "I love Python"
print(text.find("Python"))它会返回 "Python" 第一次出现的位置。
如果没有找到:
print(text.find("Java"))
会返回:
-1
所以 find() 很适合用来判断某段内容在哪里出现。
五、count():统计出现了多少次
想知道某个字符或者单词出现了几次,可以直接:
text = "Python Python Java Python"
print(text.count("Python"))
结果:
3
不用自己写循环统计,Python 已经帮你做好了。
六、startswith():判断是不是以某内容开头
例如:
url = "https://example.com"
print(url.startswith("https"))
结果:
True
如果不是,则返回
False。
所以看到 startswith(),可以直接理解成:
“是不是以……开头?”
七、endswith():判断是不是以某内容结尾
它和上面的 startswith() 正好相反。
比如判断一个文件是不是 Python 文件:
filename = "main.py"
print(filename.endswith(".py"))
结果:
True
以后做文件处理时,这个方法经常会遇到。
八、upper():全部变成大写
text = "python"
print(text.upper())
结果:
PYTHON
特别简单,就是把字符串中的字母转换成大写。
九、lower():全部变成小写
和 upper() 相反:
text = "PYTHON"
print(text.lower())
结果:
python
这个方法看起来简单,但实际非常实用。
比如用户可能输入:
Python
PYTHON
python
如果你不关心大小写,可以先统一使用 lower() 转成小写,再进行比较。
十、join():把多个字符串拼起来
split() 是拆开,而 join() 可以理解成拼起来。
例如:
words = ["Python", "Java", "C++"]
result = ",".join(words)
print(result)
结果:
Python,Java,C++
如果写成:
"-".join(words)
结果就会变成:
Python-Java-C++
所以这两个方法可以放在一起记:
split() 负责拆,join() 负责拼。
十一、isdigit():判断是不是数字字符
比如用户输入年龄:
age = "18"
print(age.isdigit())
结果:
True
如果输入:
age = "18岁"
结果就是:
False
需要注意,isdigit() 判断的是字符串内容是否由数字字符组成,它并不是一个通用的“能不能转成任意数字”的检测方法。像负数、小数等字符串,就不能简单靠它判断。
十二、format():把数据放进字符串
以前 Python 中经常这样写:
name = "小明"
age = 18
text = "我叫{},今年{}岁".format(name, age)
print(text)
结果:
我叫小明,今年18岁
不过现在写 Python,更推荐使用 f-string:
name = "小明"
age = 18
print(f"我叫{name},今年{age}岁")
写起来更直观,也更容易阅读。
12个方法怎么记?
其实完全没必要一天把它们全部背下来。
可以按照用途去理解:
清理:
strip()
拆分与拼接:split()、join()
查找与替换:find()、replace()、count()
判断:startswith()、endswith()、isdigit()
大小写处理:upper()、lower()
格式化:format() / f-string
这样比一个个死记方法名容易得多。
最后
字符串的方法远不止这12个,但对于刚开始学 Python 的人来说,先把真正高频的学会,比一次背几十个方法更有用。
尤其是 strip()、split()、replace()、join(),以后处理文本、读取文件、清洗数据时,你会反复碰到。
建议不要只看代码。
自己打开编辑器,把每个例子敲一遍,再试着修改里面的字符串和参数。能自己写出来、知道什么时候该用,才算真正学会。