Py学习  »  Python

Python字符串最常用的12个方法,新手写代码基本都用得到

码上编程学习社 • 4 周前 • 183 次点击  

 


刚开始学 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(),以后处理文本、读取文件、清洗数据时,你会反复碰到。

建议不要只看代码。

自己打开编辑器,把每个例子敲一遍,再试着修改里面的字符串和参数。能自己写出来、知道什么时候该用,才算真正学会。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/201046