我们知道python中单引号、双引号和三引号都可以表示字符串,其中三引号还可以加注释,那这些有什么异同呢?
单引号和双引号
单引号和双引号都可以用来表示一个字符串,正常看来是没有差别的
>>> name = 'Lapland'
>>> name
'Lapland'
>>> name = "Lapland"
>>> name
'Lapland'
都是可以的(但是不能混搭用…引号是配套的)
我们知道Python以其易用性而著名,所以刚开始看教程学习看到单引号和双引号都可以使用会以为这是Python为了方便程序员,随便用哪个就好,不用担心用错。真的就这么简单吗 (^_-)?看下面这个例子
但是当字符串里面出现引号时
>>> earphone = 'lapland\'s airpods'
>>> earphone
"lapland's airpods"
>>> earphone = "lapland's airpods";\
... earphone
"lapland's airpods"
- 嗯?有木有看出一点什么?在外面是双引号时,里面的单引号就不用转义了,外面单引号同理。
- 而且,如果不想一句一输入的话,可以用👆第二种命令输入方式
三引号(字符串)
三引号嘛,主要有两个作用:一个是三引号里面,单双引号都不需要转义啦,惊不惊喜,意不意外? 还有就是三引号里面可以任意换行,并不需要加行末的\
这其实挺重要的…因为要是直接加\
的话,会出现这种情况…
>>> name = "List of name:\
... Python\
... Java\
... Matlab"
>>> name
'List of name: Python Java Matlab'
输出的那一些空格实际上是输入时就有的空格…所以相当于是把
\<回车>...
一同去掉,把三行连起来了…
那如果用三引号呢…
>>> name = """list of name:
... Python
... Java
... Java Script
... C++
... Markdown
... Matlab
... """
>>> print(name)
list of name:
Python
Java
Java Script
C++
Markdown
Matlab
>>> OS = '''list of systems:
... windows
... macos
... linux ubuntu'''
>>> print(OS)
list of systems:
windows
macos
linux ubuntu
中间空的那一行是由于前面输入的时候后面的三引号单独占了一行…
而且使用3个引号还有一个特别棒的作用就是:加带 “#” 的注释!
>>> OS = '''list of systems:
... windous # 10
... macos # catalina
... linux ubuntu # 19'''
>>> print(OS)
list of systems:
windous # 10
macos # catalina
linux ubuntu # 19
这不就很快乐了嘛…