学习常见的 Python 字符串方法比听起来更容易。Python 是一种动态类型的解释型语言,数据类型非常灵活。Python也内建了很多字符串方法,了解常见的 Python 字符串方法,能让我们在学习和工作的过程中更加游刃有余。
Python 中的“字符串”是什么?
字符串是位于单引号(’Hello!’)或双引号(“Hello!”)之间的任何变量。声明一个字符串很简单:
string = "Hello world!"
Python 是动态类型,所以你不需要提前申明字符串类型。例如,在其他语言中,你需要声明:
$stringGreeting = "Hello world!";
但是在 Python 中,你可以直接给变量赋任意类型的值:
string = '1'
number = 1
什么是 Python 字符串方法?
Python 字符串方法是验证和格式化 Python 字符串的函数。但它们与函数或命令是分开的。对于给定的 STRING,你将查看 STRING 是否可打印、STRING 是否为小写、STRING 是否为数字等。也可以将Python 字符串方法用于格式化文本——它返回一个已正确格式化的字符串。 从机器学习到 GUI,字符串方法对于确保正确格式化和打印数据非常重要。
方法与函数的区别?
此时,你可能想知道:方法和函数之间有什么区别?方法本质上是直接链接到对象的函数。在 Python 中,字符串函数直接链接到字符串本身。因此,在使用另一种语言时,你可以这样做:
$string = "Hello!";
upper($string);
在 Python 中,你可以这样做:
string = 'Hello!'
string.upper()
如上所示,对于方法的使用,直接在字符串后面用.
号引用即可,跟函数的使用有一些区别。方法本质上是函数,通常可以互换引用,但不同之处在于你需要通过给定对象调用方法。
现在,让我们深入了解最常见的字符串方法。
1. text.capitalize():将字符串的首字母大写
这个方法将字符串的第一个字母大写。注意,如果这个字符串是一个完整的句子,它不会将每个单词都大写,只是第一个词。
例子:
text = 'hello'
text.capitalize()
结果:
Hello
2. text.title():将字符串转换为标题大小写
这是一个非常有用的功能,因为它会自动将字符串转换为每个单词的首字母大写,其余的字母小写。一般在文章标题中比较常用。
例子:
text = 'Hello, world!'
print(text.title())
结果:
Hello, World!
3. text.upper():将整个字符串转换为大写
这个 Python 方法将字符串中的所有文本直接转换为大写,与 text.lower() 相反。
例子:
text = 'Hello, world!'
print(text.upper())
结果:
HELLO, WORLD!
4. text.lower():将所有文本转换为小写
这个 Python 字符串方法将字符串中的所有文本转换为小写。同样,你可以使用 text.upper() 将所有文本转换为大写。
例子:
text = 'Hello, world!'
print(text.lower())
结果:
hello, world!
5. text.swapcase():交换字符串字母中的大小写
这是一个独特的 Python字符串方法,它会翻转当前字符串的大小写,像“Abcde”这样的东西会转换成“aBCDE”。这是一个不经常使用的的功能。
例子:
text = 'Hello, world!'
print(text.swapcase())
结果:
hELLO, WORLD!
6. text.center():字符串居中对齐
此 Python 方法将使用给定数量的空格将字符串居中。这通常用于基于文本的用户界面。
例子:
text = 'hello'
text.center(12)
结果:
' hello ' # 字符串总长度12,文本居中
7. text.ljust():字符串左对齐
这个方法会将字符串左侧对齐,右侧则填充空格或者给定的其他字符。(如果不指定填充字符,默认填充空格)。这与 text.center() 命令类似。
例子:
text = 'Hello, world!'
print(text.ljust(20))
print(text.ljust(20, ','))
结果:
Hello, world! # 字符串总长度20,靠左对齐
Hello, world!,,,,,,, # 字符串总长度20,靠左对齐,右侧用,号填充
8. text.rjust():字符串右对齐
这个 Python 字符串方法的工作方式与 text.ljust() 类似,它是右对齐方式。这些在基于文本的 GUI 中经常使用。
例子:
text = 'Hello, world!'
print(text.rjust(12))
结果:
Hello, world! #总长度20个,靠右对齐
9. text.count():计算给定字符串的出现次数
这个 Python 方法将计算给定字符串中给某个字符的出现次数。换句话说,一个字母或一串字母在一个较大的短语中出现了多少次。因此,你可以使用它来计算字符串中有多少个逗号或空格。
例子:
text = 'hello'
text.count('l')
结果:
2
10. text.replace():用另一个字符串替换所有出现的字符串
使用 text.replace() 函数,Python 在字符串中搜索子字符串并替换它。你可以使用它来替换单个字符或整个字符串。
例子:
text = 'Hello, world!'
print(text.replace('world', 'everyone'))
结果:
Hello, everyone!
11. text.lstrip():去除字符串开头的空白符
使用此 Python 字符串函数删除字符串中的任何前导字符。前导字符是空格或制表符,实际上不添加任何可打印的内容。
例子:
text = ' Hello, world!'
print(text.lstrip())
结果:
Hello, world
12. text.rstrip():去除字符串末尾的空白符
与 text.lstrip() 一样,text.rstrip() 删除空白字符,这次是从字符串的末尾开始。这通常用于文本格式,因此可以以其他方式使用数据,例如输入数据库。
例子:
text = 'Hello, world! '
print(text.rstrip())
结果:
Hello, world!
13. text.strip():去除字符串开头和结尾的空白符
这个 Python 函数是 text.lstrip 和 text.rstrip 的组合,专为快速数据格式化而设计。
例子:
text = ' Hello, world! '
print(text.strip())
结果:
Hello, world!
14. text.startswith():如果字符串以某个值开头,则返回true
如果字符串以给定的子字符串开头,Python 函数 text.startswith() 将返回 true。这在查找或排序数据时可能很重要。
例子:
text = 'Hello, world!'
print(text.startswith('Hello')
结果:
True
15. text.endswith():判断文本是否以指定字符串结尾
如果字符串以给定字符串结尾,则此 Python 方法将返回“true”,否则返回“false”。因此,你可能想知道,例如,字符串是否以分号结尾(也许你太习惯于使用非 Python 语言进行编程)。
例子:
text = 'hello, world!'
print(text.endswith('!'))
结果:
True
16. text.index():返回字符串在字符串中的位置
此 Python 函数返回指定字符串在待匹配字符串中的位置,给出该字符串第一次出现的下标位置。
例子:
text = 'Hello, world!'
print(text.index('world'))
结果:
7
17. text.isalnum():判断是否所有字符都是字母或者数字
如果字符串中的所有字符都是字母数字,则此 Python 函数返回 true,否则返回 false。你可以将其用于用户输入验证或在数据输入数据库之前验证数据。
例子:
text = 'Hello, world!'
print(text.isalnum())
结果:
False # ,不是字母或者数字
18. text.isalpha():如果所有字符都是字母则返回true
如果字符串中的所有字符都是字母,则此 Python 函数返回 true,否则返回 false。像 text.islanum() 一样,这可以用于用户输入验证等事情。(此方法可以用于中文汉字)
例子:
text1 = 'Hello, world!'
text2 = '中国欢迎你'
print(text1.isalpha())
print(text2.isalpha())
结果:
False
True
19. text.isdigit():如果所有字符都是数字则返回true
如果字符串中的所有字符都是数字,则此 Python 函数返回 true,否则返回 false。与 text.islanum() 一样,你可以将其用于用户输入验证等事情。这些函数可能特别有用,因为 Python 不遵循严格类型。
例子:
text = '2022'
print(text.isdigit())
结果:
True
20. text.islower():如果所有字符都是小写,则返回true
这个 Python 函数检查一个字符串,如果所有内容都是小写,则显示“True”。现在,请注意你也可以使用 text.lower() 并确保所有字符都是小写的。
例子:
text = 'Hello, world!'
print(text.islower())
结果:
False
21. text.isprintable():如果所有字符都可以打印,则返回true
如果你需要在打印数据之前验证数据,这个 Python 函数非常有用。如果字符可以打印,则返回 true,如果不能打印,则返回 false。
例子:
text = 'Hello, world!'
print(text.isprintable())
结果:
True
22. text.istitle():如果字符串是标题大小写,则返回true
如果字符串中的每个单词首字母都大写,其余字母都小写,则此 Python 字符串方法返回 true。
例子:
text = 'Hello, world!'
print(text.istitle())
结果:
False # 每个单词的首字母都要大写
23. text.isupper():如果字符串为大写则返回真
与 text.title() 一样,此 Python 字符串方法也与大小写有关。它检查整个字符串是否为大写。
例子:
text = 'HELLO WORLD!'
print(text.isupper())
结果:
True
如何记住所有这些 Python 方法?
简而言之:不需要。
大多数程序员都有一个秘密,他们并不真正了解给定语言的所有功能。
如果他们需要某个功能,比如说,获取字符串的副本,或者执行字符串的连接,他们会到编程手册中查找或者直接百度/谷歌。
对于 Python,这是 Python文档手册。 上面所列出的并不是所有存在的 Python 字符串方法——它们只是最常用的内置方法。你也可以随时通过添加其他库来扩展 Python。
而且除了字符串方法之外,还有数字方法、列表方法等等。所以光靠记忆,很难把每个方法都记住。例如你要验证用户输入的数据的合法性,从逻辑上讲,你要考虑整个过程:
- 为了验证这些数据,我需要去掉所有空格并删除所有非法字符。
- 有没有我可以使用的功能来做到这一点?
- 手册说我可以使用 strip() 去除所有空格并使用 replace() 替换我不想要的字符。
学习和练习编程更多的是了解什么是可能的,而不是原始的记忆。当然,你记住的越多,你就会发现编程越容易、越快——但这只是随着时间的推移而水到渠成的东西。
What‘s The Next?
Python 是学习速度最快的编程语言之一。Python 被用于从机器学习到自然语言处理再到创建出色的 Web 应用程序的各个方面。
如果你想了解更多关于 Python 的知识,最快的方法是开始一些 Python 编程项目,大多数人都是边做边学。如果你不知道怎么做,不妨可以下载一些不错的课程,跟着老师后面动手学习,你会成长的很快。
如果本站的内容对你有帮助,可以点击这儿,不花一分钱捐赠本站