python 字符串的连接与解析

357 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第27天,点击查看活动详情

连接字符串

所以现在你有几种创建字符串的方法,但是你可以用它们做什么呢?就像数字一样,字符串具有可用于创建新字符串的运算符。如果将两个字符串加在一起,则会得到一个新字符串,其中包含第一个字符串,并在末尾追加第二个字符串。您可以使用+运算符添加字符串,就像使用数字一样;让我们试试吧:

image.png

Python将两个字符串加在一起并显示结果。添加字符串

像这样一起称为字符串串联。可以连接任意两个字符串,但不能将字符串与数字连接。无论如何,让我们尝试一下,看看会发生什么:

image.png

在这里,我们试图通过将数字5添加到字符串中来生成字符串“high 5”。这对Python没有意义,它通过抛出另一个来让你知道。

例外。如果要将数字添加到字符串中,则必须首先将数字转换为字符串。您可以通过从数字构造新字符串来轻松地从数字创建字符串。以下是创建我们的高 5 字符串的方法。

image.png

这是有效的,因为 str(5) 从数字 5 构造一个字符串, Python 会很高兴地将它与另一个字符串连接起来。

也可以对字符串使用乘法 (*) 运算符,但只能将字符串乘以整数。猜猜下面的Python代码行将做什么:>>>'eek!*10

image.png

你可以看到Python可以非常直观;如果将字符串乘以 10,它将重复 10 次。字符串不支持所有数学运算符,例如 / 和 -,因为它们执行的操作并不直观。“苹果”-“橙子”可能意味着什么?

解析字符串

由于字符串可以被视为字符的集合,因此能够引用其部分而不是整体通常很有用。Python 使用索引运算符执行此操作,该运算符由方括号 [] 组成,其中包含字符的偏移量。第一个字符是 [0],第二个字符是 [1],第三个字符是 [2],依此类推。从0而不是1开始可能看起来有点奇怪,但这是计算机语言的传统,当你编写更多的Python代码时,你会发现它实际上简化了事情。让我们看看字符串索引的实际效果。首先,我们将创建一个包含字符串的变量,我们就像数字一样:

image.png

通常你会给字符串一个更好的名称,但对于这个小例子,我们只会把它称为my_string(my和strne之间的下划线字符被用来代替空格,因为Python不允许变量名称中有空格)。我们可以挑出来

字符串中带有索引运算符的单个字母:

image.png

my_string[0]给你一个字符串,其中河豚鱼的第一个字符是f。第二行给出第四个字符,因为第一个字符的偏移量为 0 而不是 1。试着不要把偏移量看作是字符本身的编号,而是字符之间的空格(见图1-1);这将使索引更直观一些。

image.png

假设我们要查找字符串中的最后一个字符。从图 1-1 中可以看出,偏移量为 9 时的最后一个字符是“i”,但是如果我们事先不知道字符串呢?我们可以从文件中提取字符串,或者玩家可能在高分表中键入了它。要找到最后一个偏移量,我们首先需要找到字符串的长度,我们可以用len函数做到这一点。将函数视为存储的Python代码;你向函数传递一些信息,它用它来执行操作,然后返回,可能带有新信息。这正是len所做的;我们给它一个字符串,它返回该字符串的长度。让我们在my_string上尝试 len 函数:

image.png

my_string中有 10 个字符,但我们不能使用 10 作为偏移量,因为它正好位于字符串的末尾。要获得结束字符,我们需要 10 之前的偏移量,即 9,因此我们减去 1。下面介绍如何使用 len 查找字符串中的最后一个字符:

image.png

很简单,我希望你会同意!但是Python可以通过使用负索引来使我们更容易。如果使用负数编制索引,Python 会将其视为与字符串末尾的偏移量,因此 [-1] 是最后一个字符,[-2] 是倒数第二个字符

image.png

现在,我们可以用更少的代码找到最后一个字符: