Python中单引号和双引号的区别是什么?


Python使用引号来表示字符串对象。它们可以是单引号或双引号。两种方式都是正确的,并且工作方式相同;但是,当这些引号一起使用时,就会出现差异。

在本文中,我们将学习单引号和双引号的区别。

Python中的单引号

单引号应该用于在Python中包装小而短的字符串,例如字符串文字或标识符。您必须记住,在用单引号表示字符串时,使用单引号作为字符串的一个字符将引发错误。在这种情况下,建议使用双引号。让我们通过一个例子来理解它。

示例

在下面的示例中,我们将表示多种类型的字符串:单个单词、多个单词和多个句子。

name = 'Rahul'
print(name)

channel = 'Better Data Science'
print(channel)

paragraph = 'Rahul enjoys the content on Better Data Science. Rahul is awesome. Think like Rahul.'
print(paragraph)

hybrid = 'Hello "World"!'
print(hybrid)

输出

如果我们执行上面的程序,则输出如下所示:

Rahul
Better Data Science
Rahul enjoys the content on Better Data Science. Rahul is awesome. Think like Rahul.
Hello "World"!

示例

让我们看看下面的另一个程序;在一个字符串中使用多个单引号。

hybrid = 'Rahul's World'
print(hybrid)

输出

该程序引发了如下所示的语法错误:

  File "/home/cg/root/96099/main.py", line 1
    hybrid = 'Rahul's World'
                           ^
SyntaxError: unterminated string literal (detected at line 1)

Python假设字符串在“Rahul”之后结束,因此之后的内容都是语法错误。在代码编辑器中,此类错误很容易识别,因为“We”之后的部分颜色不同。

解决这个问题的方法是

  • 停止使用缩写(we are -> we're)——它们很不方便。

  • 转义字符串——这是我们接下来要研究的一个选项。

  • 使用双引号。

转义字符串

转义字符串的基本目标是防止在计算机语言中使用特定字符。例如,我们不希望撇号被视为引号。

示例

要在Python中转义字符串字符,请使用反斜杠(\)符号

hybrid = 'Rahul's World'
print(hybrid)

输出

上面程序的输出如下所示:

Rahul's World

示例

然而,反斜杠经常用作字符串中的文字字符,例如表示计算机的路径。让我们看看如果你尝试打印带有转义字符的路径会发生什么。

print('C:\Users\John')

输出

如果我们编译并运行上面的程序,则会引发语法错误:

C:\Users\John
C:\Users\John

可能不是你希望看到的。事实证明,有两种方法可以避免转义字符:

  • 如果你使用的是原始字符串,请在第一个引号前写'r'。

  • 使用双反斜杠来有效地转义转义字符。

以下是执行这两种方法的方法:

示例

#Write r before the first quote mark if you're using a raw string
print(r'C:\Users\John')
#Use a double backslash to effectively escape the escape character
print('C:\Users\John')

输出

如果我们执行上面的程序,则输出如下所示:

C:\Users\John
C:\Users\John

这两个规则适用于单引号和双引号括起来的字符串。现在让我们在本章的后面进一步讨论在字符串中使用双引号。

Python中的双引号

对于自然语言通信、字符串插值或当你知道字符串中将包含单引号时,建议使用双引号。让我们使用下面的例子更好地理解。

示例

让我们看看在下面的示例中,可以使用双引号在Python中表示字符串的各种情况。

name = 'Rahul'

# Natural language

print("It is easy for us to get confused with the single and double quotes in Python.")
# String interpolation
print(f"{name} said he is free today.")

# No need to escape a character
print("We're going out today.")

# Quotation inside a string
print("my favourite subject is 'maths'")

输出

如果我们编译并运行上面的程序,则会产生如下输出:

It is easy for us to get confused with the single and double quotes in Python.
Rahul said he is free today.
We're going out today.
my favourite subject is 'maths'

正如你所看到的,将引号嵌入到用双引号括起来的字符串中是很简单的。我们也不需要像使用单引号那样转义字符。

示例

记住,你不能再次在用双引号括起来的字符串中使用双引号。这将导致与单引号相同的语法问题。让我们在下面的示例中看看。

string = "He said, "I can't handle this anymore"."

print(string)

输出

上面程序的输出如下所示:

  
File "/home/cg/root/22693/main.py", line 1
   string = "He said, "I can't handle this anymore"."
                             ^
SyntaxError: unterminated string literal (detected at line 1)

示例

为了避免这种情况,你可以应用上一节的方法,但你可以用单引号括起字符串:

string = 'He said, "I cannot handle this anymore".'

print(string)

输出

输出如下所示:

He said, "I cannot handle this anymore".

结论

在Python中,单引号和双引号字符串之间的区别微不足道。只要遵循你的编程约定,你可以将任何一个用于任何目的。在某些情况下,一种类型比另一种类型更有优势。

更新于:2023年2月24日

5K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.