如何在 Python 中对字符串进行操作
发布日期:
本文内容
在 Python 编程中,定义和收集数据是基础步骤,随后利用这些数据实现特定的功能。因此,对数据进行分类处理显得尤为重要。我们将在本文探讨字符串这一数据类型。尽管字符串看起来简单直观,但其应用方式却多种多样。
字符串(string)指的是一系列字符的集合。在 Python 中,任何被引号包围的文本都被视为字符串,这些引号可以是单引号或双引号:
|
|
这种灵活性让你能够在字符串中包含引号和撇号:
|
|
下面来看一些使用字符串的方式。
使用方法修改字符串的大小写
在对字符串进行处理时,改变单词的字母大小写算得上是一个既简单又常用的操作了。以下是一段示例代码,让我们来分析它的作用:
|
|
运行它,你将看到如下输出:
|
|
在这个示例中,变量 name
被赋值为全小写的字符串 "ada lovelace"
。在函数调用 print()
中,title()
方法被应用于这个变量。在 Python 中,方法(method)是一种可以对数据执行的操作。
在 name.title()
中,name
后面的点号(.
)指示 Python 对 name
变量执行 title()
方法所指定的操作。每个方法后面都跟着一对括号,这是因为方法通常需要额外的参数来执行任务。对于 title()
函数来说,它不需要任何额外的参数,因此它的括号是空的。
title()
方法的作用是将字符串中每个单词的首字母转换为大写,其余字母转换为小写。这在处理需要首字母大写的场合非常有用,比如格式化人名。例如,你可能希望程序能够识别 Ada、ADA 和 ada 为同一个名字,并统一显示为 “Ada”。
除了 title()
方法,Python 还提供了其他几个用于处理字符串大小写的有用方法。例如,如果你想将整个字符串转换为大写或小写,可以分别使用 upper()
和 lower()
方法,如下所示:
|
|
这些代码的输出如下:
|
|
在存储数据时,lower()
方法很有用。由于用户输入往往不会完全符合我们预期的大小写格式,因此通常需要先将字符串统一转换为小写形式进行存储。这样做可以确保数据的一致性和标准化。以后需要显示这些信息时,再将其转换为最合适的大小写方式即可。
在字符串中使用变量
在多种场景下,你可能需要在字符串中嵌入变量的值。例如,假设你有两个变量,一个用于存储名字(first name),另一个用于存储姓氏(last name),你可能希望将这两个值合并,以显示一个人的全名:
|
|
要在字符串中插入变量值,你可以在字符串的左引号前加上字母 f
(如上所示),然后将要插入的变量放在花括号 {}
内。这样,Python 在处理字符串时会自动将每个变量替换为其对应的值。
这种字符串被称为 f 字符串,其中 f
代表“format”(格式化),因为 Python 通过替换花括号内的变量为其值来格式化字符串。上述代码的输出将是:
|
|
f 字符串非常有用,可以用于创建包含变量信息的完整消息,如下所示:
|
|
这段代码将输出一条格式正确的问候语:
|
|
你还可以使用 f 字符串创建消息,并将整条消息赋值给一个变量:
|
|
上述代码同样会显示消息“Hello, Ada Lovelace!”,但首先将这条消息存储在一个变量中,这样做简化了后续的 print()
函数调用。
使用制表符或换行符来添加空白
在编程中,空白指的是那些不显示在屏幕上的字符,比如空格、制表符(tab)和换行符。用好这些空白,可以让输出更加整洁,阅读起来也更轻松。
如果你想在字符串里加个制表符,可以用 \t
这个符号:
|
|
输出:
|
|
要在字符串中添加换行符,可以用 \n
这个符号:
|
|
输出:
|
|
而且,你可以在同一个字符串里同时用制表符和换行符。比如"\n\t"这个组合,就是让内容先换行,然后在新的一行开头加个制表符。下面的例子展示了怎么用一行代码输出四行内容:
|
|
输出:
|
|
删除空白
在编程时,多余的空格可能会让人头疼。虽然对于我们来说,"python"
和 "python "
看起来差不多,但程序可不这么认为,它们在程序眼里是完全不同的两个字符串。Python 能够识别出 "python "
里多出来的空格,除非你告诉它忽略这些空格。
空格的重要性在于,我们经常需要比较两个字符串是否完全相同。比如,在用户登录网站时验证用户名,即使在看似简单的情况下,多出来的空格也会造成混淆。好在 Python 提供了简单的方法来清除用户输入中的多余空格。
Python 可以去掉字符串两端的多余空格。如果你想确保字符串末尾没有空格,可以用 rstrip()
方法。
|
|
变量 favorite_language
关联的字符串末尾有多余的空格(第一行)。当你在 Python 里打印这个变量时,可以看到末尾的空格(第二行)。调用 rstrip()
方法后(第三行),多余的空格被移除了。但这种移除只是暂时的,如果你再次打印 favorite_language
,字符串还是会包含原来的多余空格(第四行)。
要永久移除字符串中的空格,你需要将移除空格后的结果重新赋值给变量:
|
|
为了移除字符串中的空格,你删除了它末尾的空格,并将结果重新赋值给原来的变量(第二行)。在编程中,我们经常需要修改变量的值,并将新值赋给原来的变量,这就是变量值可能会随着程序运行或用户输入而变化的原因。
你还可以删除字符串开头的空格,或者同时删除两端的空格,分别使用 lstrip()
和 strip()
方法:
|
|
在这个例子中,我们创建了一个开头和末尾都有空格的字符串。然后,我们分别删除了末尾、开头和两端的空格。练习使用这些字符串处理函数,可以帮助你熟悉字符串操作。在实际编程中,这些函数通常用于在存储用户输入之前对其进行清理。
处理字符串时,去掉前缀是个挺常见的需求。比如,用户输入了一个URL,它带着“https://”这样的常见前缀,但你想去掉这个前缀,只留下用户需要在地址栏输入的部分。下面演示了是怎么做的:
|
|
这里,我们在变量名后面加上了点号和 removeprefix()
方法,然后在括号里填上我们想从字符串中去掉的前缀。
和删除空白一样,removeprefix()
方法不会改变原来的字符串。如果你想保留去掉前缀后的结果,可以把它重新赋值给原来的变量,或者赋给一个新的变量:
|
|
如何在使用字符串时避免语法错误
语法错误是编程时经常碰到的一种错误,它发生在代码不符合 Python 的语法规则时。比如,如果你在单引号括起来的字符串里用到了撇号,就可能引发语法错误。这是因为 Python 会将第一个单引号和撇号之间的内容视为一个字符串,而剩下的部分则被误认为是 Python 代码,从而导致错误。
下面展示了如何正确使用单引号和双引号:
|
|
在这个例子中,撇号被放在了双引号之间,所以 Python 解释器能够正确理解这个字符串:
|
|
但是,如果你使用单引号,Python 就无法正确识别字符串的结束位置:
|
|
你会遇到这样的错误输出:
|
|
从错误输出可以看出,问题出在最后一个单引号后面。在 Python 解释器看来,这种语法错误意味着代码中有些部分不是有效的 Python 代码,通常是因为引号使用不当。错误的原因多种多样,在学习 Python 编程的过程中,你可能会遇到不少语法错误,它们也是最不明确的,因此可能比较难找出来并修复。
在编程时,编辑器的语法高亮功能是个超棒的助手,它能帮你迅速定位一些语法错误。如果你发现 Python 代码显示的颜色和普通文本一样,或者普通文本显示的颜色和代码一样,这通常意味着你的引号可能没配对好。
简单来说,就是:
- 如果代码块的颜色和普通文本一样,可能是因为你忘记闭合字符串的引号了。
- 如果普通文本的颜色和代码块一样,可能是因为你在字符串里错误地使用了代码的标识符。
这种情况下,检查引号是否正确配对,通常是解决问题的第一步。这个小技巧能帮你节省不少调试时间。