Python3中的字符串函数简介

来自菜鸟教程
跳转至:导航、​搜索

###介绍

Python 有几个与 字符串数据类型 相关的内置函数。 这些函数让我们可以轻松地修改和操作字符串。 我们可以将函数视为我们对代码元素执行的操作。 内置函数是那些在 Python 编程语言中定义并且可供我们随时使用的函数。

在本教程中,我们将介绍几个不同的函数,可用于在 Python 3 中处理字符串。

    1. 先决条件

您应该在您的计算机或服务器上安装 Python 3 并设置编程环境。 如果您没有设置编程环境,您可以参考本地编程环境或服务器上的编程环境适合您的操作的安装和设置指南系统(Ubuntu、CentOS、Debian 等)

    1. 使字符串大写和小写

函数 str.upper()str.lower() 将返回一个字符串,其中原始字符串的所有字母都转换为大写或小写字母。 因为字符串是不可变的数据类型,所以返回的字符串将是一个新字符串。 字符串中的任何非字母字符都不会更改。

让我们将字符串 Sammy Shark 转换为全部大写:

Info: 要跟随本教程中的示例代码,请通过运行 python3 命令在本地系统上打开 Python 交互式 shell。 然后,您可以通过在 >>> 提示符后添加示例来复制、粘贴或编辑示例。


ss = "Sammy Shark"
print(ss.upper())
OutputSAMMY SHARK

现在,让我们将字符串转换为全部小写:

print(ss.lower())
Outputsammy shark

str.upper()str.lower() 函数通过使大小写始终保持一致,可以更轻松地评估和比较字符串。 这样,如果用户将他们的名字全部写成小写,我们仍然可以通过检查他们的名字是否在我们的数据库中,例如,检查它是否全部大写。

    1. 布尔方法

Python 有一些字符串方法,它们将评估为 布尔值 。 例如,当我们创建供用户填写的表单时,这些方法很有用。 如果我们要求邮政编码,我们只想接受一个数字字符串,但是当我们要求一个姓名时,我们只想接受一个字母字符串。

有许多字符串方法将返回布尔值:

方法 True 如果
str.isalnum() 字符串仅包含字母数字字符(无符号)
str.isalpha() 字符串仅包含字母字符(无符号)
str.islower() 字符串的字母字符都是小写的
str.isnumeric() 字符串仅由数字字符组成
str.isspace() 字符串仅包含空白字符
str.istitle() 字符串是标题大小写
str.isupper() 字符串的字母字符都是大写的

让我们回顾一下其中的几个实际操作:

number = "5"
letters = "abcdef"

print(number.isnumeric())
print(letters.isnumeric())
OutputTrue
False

对字符串 5 使用 str.isnumeric() 方法返回值 True,而对字符串 abcdef 使用相同方法返回值 False

类似地,我们可以查询字符串的字母字符是大写、大写还是小写。 让我们创建一些字符串:

movie = "2001: A SAMMY ODYSSEY"
book = "A Thousand Splendid Sharks"
poem = "sammy lived in a pretty how town"

现在让我们尝试检查大小写的布尔方法:

print(movie.islower())
print(movie.isupper())
print(book.istitle())
print(book.isupper())
print(poem.istitle())
print(poem.islower())

现在我们可以运行这些小程序并收到以下输出:

Output of movie stringFalse
True
Output of book stringTrue
False
Output of poem stringFalse
True

检查字符是小写、大写还是标题大小写,可以帮助我们适当地对数据进行排序,并为我们提供通过检查然后根据需要修改字符串来标准化收集的数据的机会。

当我们想要检查用户输入的内容是否适合给定参数时,布尔字符串方法很有用。

    1. 确定字符串长度

字符串函数 len() 返回字符串中的字符数。 例如,当您需要强制最小或最大密码长度,或将较大的字符串截断以在特定限制内用作缩写时,此方法很有用。

为了演示这种方法,我们将找到一个句子长字符串的长度:

open_source = "Sammy contributes to open source."
print(len(open_source))
Output33

我们将变量 open_source 设置为等于字符串 "Sammy contributes to open source.",然后使用 len(open_source) 将该变量传递给 len() 函数。 然后我们将该方法传递给 print() 方法,以便我们可以从我们的程序在屏幕上生成输出。

请记住,任何由单引号或双引号绑定的字符(包括字母、数字、空白字符和符号)都将被 len() 函数计算在内。

    1. join()、split() 和 replace() 方法

str.join()str.split()str.replace() 方法是在 Python 中操作字符串的一些附加方法。

str.join() 方法将连接两个字符串,但是以一种将一个字符串传递给另一个字符串的方式。

让我们创建一个字符串:

balloon = "Sammy has a balloon."

现在,让我们使用 str.join() 方法为该字符串添加空格,我们可以这样做:

" ".join(balloon)

如果我们打印出来:

print(" ".join(balloon))

我们会注意到,在返回的新字符串中,第一个字符串中添加了空格:

OutputS a m m y   h a s   a   b a l l o o n .

我们还可以使用 str.join() 方法返回一个与原始字符串相反的字符串:

print("".join(reversed(balloon)))
Output.noollab a sah ymmaS

我们不想将另一个字符串的任何部分添加到第一个字符串,所以我们保持引号之间没有空格。

str.join() 方法对于将字符串列表组合成一个新的单个字符串也很有用。

让我们从字符串列表中创建一个逗号分隔的字符串:

print(",".join(["sharks", "crustaceans", "plankton"]))
Outputsharks,crustaceans,plankton

如果我们想在我们的新字符串中的字符串值之间添加一个逗号和一个空格,我们可以用逗号后的空格重写我们的表达式:", ".join(["sharks", "crustaceans", "plankton"])

就像我们可以将字符串连接在一起一样,我们也可以拆分字符串。 为此,我们将使用 str.split() 方法:

print(balloon.split())
Output['Sammy', 'has', 'a', 'balloon.']

如果没有给出其他参数,则 str.split() 方法返回由空格分隔的字符串列表。

我们还可以使用 str.split() 删除原始字符串的某些部分。 例如,让我们从字符串中删除字母 a

print(balloon.split("a"))
Output['S', 'mmy h', 's ', ' b', 'lloon.']

现在字母 a 已被删除,字符串已在字母 a 的每个实例所在的位置分开,并保留了空格。

str.replace() 方法可以获取原始字符串并返回更新后的字符串并进行一些替换。

假设 Sammy 的气球丢失了。 由于 Sammy 不再有这个气球,我们将在新字符串中将子字符串 "has" 从原始字符串 balloon 更改为 "had"

print(balloon.replace("has","had"))

在括号内,第一个子字符串是我们想要替换的,第二个子字符串是我们要替换第一个子字符串的。 我们的输出将如下所示:

OutputSammy had a balloon.

使用字符串方法 str.join()str.split()str.replace() 将为您在 Python 中操作字符串提供更好的控制。

##结论

本教程介绍了字符串数据类型的一些常见内置方法,您可以使用这些方法在 Python 程序中处理和操作字符串。

您可以在“了解数据类型”中了解有关其他数据类型的更多信息,在“使用字符串的介绍”中了解有关字符串的更多信息,并了解如何更改字符串的外观“如何在 Python 3 中格式化文本。”