首页 > 新闻 > 发现 Python 字符串以及它们如何改进您的代码

发现 Python 字符串以及它们如何改进您的代码

2023-01-14 小编

Python和字符串这些术语一起让人联想到由字符串组成的蛇的图像,这与事实相去不远。

一位研究 Python 字符串的年轻女性意识到,通过了解字符串的工作原理,她可以改进编程代码。

这篇文章将涵盖 Python 字符串的基础知识;您将了解可用于创建字符串的各种语法以及如何有意义地使用它们。您还将了解可以对字符串执行的不同操作以及格式化它们的方法。所有这些概念都将附带代码块来显示每个概念的示例。

事不宜迟,让我们直接滑进去吧!

什么是 Python 中的字符串?

在大多数编程语言中,字符串只是存储在变量中的字符集合,用于各种用途。Python 字符串也不例外,它们提供了几个好处,例如为客户端创建消息以改善其用户体验。Python语言非常健壮,Python字符串的主题也是如此。

字符串可以用于更多;它们还可以提供监视和控制软件应用程序本身行为的方法。此外,它们还经常用于帮助促进软件的进一步开发,并支持测试和调试任务。下一个视频有助于进一步阐明 Python 字符串的主题。

现在您已经了解了 Python 中使用字符串的一些不同方式,让我们看一下定义字符串的语法。

定义字符串 Python

有多种方法可以在 Python 中定义字符串。它们有一个共同点:使用引号来定义字符串。定义字符串有三种不同的语法,当您将它们一起使用时,可以嵌套它们以向字符串本身添加引号。在下面的代码中,您可以看到定义 Python 字符串的所有三种方法。

# all of the following valid string declarations are equivalent in value
helloString = 'Hello'
helloString1 = "Hello"
helloString2 = '''Hello'''

上面的三个示例中的每一个都是有效的字符串表达式,并被解释为具有相同的值。有趣的是,前两个经常一起使用来创建带有引号的字符串。在 Python 中,字符串的长度由字符数决定,包括特殊字符和空格。下图显示了计算 Python 字符串长度的方式。

蟒蛇字符串示例

Python 字符串的功能远不止上述内容,例如在字符串中嵌套引号,甚至是多行字符串。让我们在下面的代码块中看一下两者的一些示例。

hello_string = 'She said, "Hello"'
hello_string1 = "She said, 'Hello'"
hello_string2 ="' She said, "Hello" '''

上述字符串也将评估为值相等,并在打印到控制台或终端时产生相同的字符串。内部引号将被保留,这意味着如果您使用单引号定义字符串并在内部使用双引号,则字符串将带有双引号打印。将这些变量传递到 print 函数中会产生以下字符串。

She said, "Hello"
She said, 'Hello'
She said, "Hello"

上面显示打印的字符串将反映引用文本的引号。

三引号字符串

两个示例中的第三个字符串使用三个引号 — 三个单引号或三个双引号 — 一种主要用于多行字符串或格式设置的语法。

# triple quotes string can extend multiple lines
hello_string ="""She said, 
  'Hello' """
#If printed you will get the string below
# She said, 
# 'Hello'

hello_string1 ="' She said, 
  "Hello" '''
#If printed you will get the string below
# She said, 
# "Hello"

这些字符串在引用字符串中的文本时如何保留引号方面具有相同的质量。用于定义字符串的三引号还允许您创建带有双引号文本的字符串,而无需转义其中的撇号。

hello_string ="' She said "Hello, I'm the Doctor!" '''
#If printed, you will get the string 
#She said, "Hello, I'm the Doctor!"

字符串字符转义

有时您会发现自己使用的字符串可能包含无效字符;在这种情况下,您需要转义不兼容的字符。字符串中的转义字符很简单,只需要在目标字符之前使用反斜杠。让我们在以下示例中看看如何执行此操作。

hello_string = 'She said, "Hello I\'m the Doctor!"'
#If printed, you will get the string 
#She said, "Hello, I'm the Doctor!"

hello_string1 = "She said 'Hello I\'m the Doctor!'"
#If printed, you will get the string 
#She said, 'Hello, I'm the Doctor!'

hello_string2 = '''She said "Hello I\'m the Doctor!"'''
#If printed, you will get the string 
#She said, "Hello, I'm the Doctor!"

上面的字符串在引用的文本中都有一个单引号。这些单引号必须转义,以防止无意中断开字符串。如果不转义字符串中的特殊字符,代码将导致错误。

还可以通过在下面的示例中所示的每个引号处使用转义来转义字符串中的引号。

hello_string = '''She said, \"Hello I'm the Doctor!\"'''
#If printed, you will get the string 
#She said, "Hello, I'm the Doctor!"

hello_string1 = "She said, \"Hello I'm the Doctor!\""
#If printed, you will get the string 
#She said, "Hello, I'm the Doctor!"

上面的每个字符串都使用双引号或三引号。由于这种格式,双重转义表示不同的转换。使用此格式,两个反斜杠中的文本将被保留,并且不需要转义单引号。让我们看一个带有特殊字符文本的另一个字符串的示例。

hello_string = '''She said, "Hello I\'m \x61 Doctor!"'''
#She said, "Hello, I'm a Doctor!"

在上面的示例中,转义符号 \x61'(转换为字符 'a')是特殊字符的基本区别,在某些时候会有所帮助。如果不转义该字符,它将按字符串中的原样打印。

hello_string = '''She said, "Hello I\'m x61 Doctor!"'''
#She said, "Hello, I'm x61 Doctor!"

打印原始字符串

您还可以打印原始字符串,这将完全按照写入的方式打印字符串中的任何内容,包括转义的特殊字符。如果对原始字符串中的引号进行转义,反斜杠也会被打印出来。

hello_string = r'She said, "Hello I\'m the Doctor!"'
#She said, "Hello I\'m the Doctor!"

原始字符串可用于调试软件中的字符串和值,并有助于识别和消除潜在错误。

Python 字符串操作

有很多方法可以与 Python 字符串交互,例如查找子字符串甚至字符串连接。但是,重要的是要注意 Python 字符串是不可变的,这意味着您无法更改字符串。不能更改或删除单个字符串字符,但可以使用新值重新分配字符串变量。

让我们看一些如何与字符串交互的代码示例。

访问字符串和字符串字符

有多种方法可以访问字符串和其中的字符,您可能需要在某个时候执行此操作。

不管你怎么做,这个过程可能都有一些共同点:迭代角色的概念。执行此操作的一种方法是使用循环,它允许您循环访问字符串中的字符。接下来让我们检查一下。

循环访问字符串

还可以使用循环循环访问字符串中的字符。这样做可以让你与各个角色互动。

# Iterating over a string
count = 0
for letter in 'Hello World':
if(letter != ' '):
count += 1
print(count,'letters in this string')

子字符串检查

检查字符串中的字符串通常称为子字符串检查或字符串成员身份检查。这些检查执行后台迭代以查找目标字符串。这很有用,因为您不需要手动循环访问字符串。执行成员资格测试可以节省时间,并有助于保持代码干净整洁。

hello_string = 'a' in 'She said'
#printing the variable above would return the value "True."

hello_string = 'Doc' in 'She said'
##printing the variable above would return the value "False."

值得注意的是,这种类型的成员资格检查区分大小写。仅当找到大写字母时,搜索大写字母才会返回 true。

连接字符串

有时,您会发现自己处于最佳方法是将两个或多个字符串组合成一个新值的情况。串联是组合两个或多个字符串或字符以创建新字符串的过程。由于字符串是不可变的,因此您无法更改字符串的值,但可以覆盖它,字符串串联是执行此操作的一种常见方式。

str1 = 'Hello '
str1 = str1 + 'World!'
#would return the string 'Hello World!'

此模式是一种低级递归模式,用于使用新值更新字符串,也用于为用户构建自定义消息。还可以执行实时串联,例如在调用打印函数期间动态串联。

str1 = 'Hello '
print(str1 + 'World!')
#would return the string 'Hello World!'

这些代码块都显示了将字符串连接在一起的有效方法,并且通过字符串连接,您可以对用户消息、注释、注释等执行很多操作。

使用 Python 字符串向前迈进

在这篇文章中,您已经学习了 Python 字符串的所有初学者基础知识、它们的工作原理以及您可以使用它们做什么。接下来,您可以通过在代码中使用字符串来执行各种任务来练习新发现的技能。您还可以了解 Python 字符串方法,这是一个广泛的主题,您可以学到很多东西。

与往常一样,您能做的最好的事情就是通过在软件开发中使用这些信息来练习您学到的所有信息。


*必填

您好,访客!有什么新鲜事想告诉大家?

点击按钮快速添加回复内容: 高兴 支持 激动 给力 加油 生气 路过 威武
发表
暂时还没评论,等你发挥!