一、单引号和双引号

在Python中我们都知道单引号和双引号都可以用来表示一个字符串,比如



str1 = 'python'
str2 = "python"



str1和str2是没有任何区别的。但是如果遇到需要转义字符的情况,来看单引号和双引号的版本。

单引号版本:



str3 = 'We all know that 'A' and 'B' are two capital letters.'



双引号版本:



str4 = "We all know that 'A' and 'B' are two capital letters."



单引号需要加 '' 来让编译器判断目前是转义字符,而双引号方便了很多。

反之,如果字符串中有双引号,为了避免使用转义符,可以使用单引号来定义这个字符串。



str5 = 'The teacher said: "Practice makes perfect" is a very famous proverb.'



二、3个单引号及3个双引号

实际上3个单引号和3个双引号不经常用,但是在某些特殊格式的字符串下却有大用处。通常情况下我们用单引号或者双引号定义一个字符串的时候只能把字符串连在一起写成一行,如果非要写成多行,就得在每一行后面加一个表示连字符,比如:



str1 = "List of name:
        Hua Li
        Chao Deng"



而且即使你这样写也不能得到期望的输出:



List of name:
Hua Li
Chao Deng



实际上输出是下面这样的:



>>> str1 = "List of name:
...         Hua Li
...         Chao Deng"
>>> print(str1)
List of name:        Hua Li        Chao Deng



那么该如何得到我们期望的一行一个名字的输出格式呢?这就是3个引号的作用了:



>>> str1 = """List of name:
... Hua Li
... Chao Deng
... """
>>> print(str1)
List of name:
Hua Li
Chao Deng



虽然我们也可以通过给字符串加上n实现:



>>> str1 = "List of name:nHua LinChao Deng"
>>> print(str1)
List of name:
Hua Li
Chao Deng



但是这样在输入的时候看起来就乱了很多。所以这种情况下尽量使用3个引号,至于3个单引号还是双引号都是一样的,只需要注意如果字符串中包含有单引号就要使用双引号来定义就好了。

而且使用3个引号还有一个特别棒的作用就是:加注释



>>> str1 = """
... List of name:
... Hua Li # LiHua
... Chao Deng # DengChao
... """
>>> print(str1)
 
List of name:
Hua Li # LiHua
Chao Deng # DengChao



此外,多行注释也可以用用三个单引号 ''' 或者三个双引号 """ 将注释括起来,例如:

单引号版本:



#!/usr/bin/python3 
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号 
这是多行注释,用三个单引号
'''
print("Hello, World!")



双引号版本:



#!/usr/bin/python3 
"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号 
这是多行注释,用三个双引号
"""
print("Hello, World!")