概述
在《手把手陪您学Python》4——Hello World!中,我们执行了Python之旅的第一行代码,发出了我们在Python世界中的第一声呐喊——Hello World!。之中,我们说到使用print函数打印的'Hello World!'是一个字符串。
在接下来的几篇中,我们就来详细说一说字符串,以及针对字符串的一些操作。
Python的字符串功能非常强大,很多人就是因为Python强大、灵活的字符串操作功能而使用Python的。
在这一篇中,我们先来看看字符串是如何标识的。
就像之前那篇说到的,字符串就是由两个单引号' ',或者两个" ",括起来的部分。其实不仅有单引号和双引号,还可以用三个单引号'''或者三个双引号""",来标识字符串。
那么他们有什么区别呢?
单引号和双引号在应用效果上没有什么区别,但在使用上可以根据内容的多少进行一下区分。
如果是简短的几个连续字母,或者一两个单词,就可以用单引号标识,例如:'abc','Hello World!'。
还有函数中的参数值,因为一般也比较简短,也可以用单引号标识,例如print函数中的参数sep=' ',end='n'等等。
如果是一个比较长的句子,推荐使用双引号,例如:"Life is short, you need Python!"。
三个单引号或者三个双引号,一般用于内容较多、需要回行的时候。这时,不管三个单引号或者三个双引号之间有多少内容、多少回行,也都只算一个字符串。例如:
'''
Why is Python worth learning?
Because
Life is short
you need Python
'''
例子中是三个单引号,三个双引号也是一样的,用哪个都行。
三引号有一个好处,包括在三引号的一小段内容是所见即所得的,使程序员不需要再考虑各种换行、引号之类的影响。
上面演示的都是英文,其实不止英文,只要放在引号里的,都是字符串,可以是英文字母、数字、中文,甚至是混合的都可以,大家也可以自己试一下。
In [1]: print('abc')
Out[1]: print("Hello World! is our first output.")
In [2]: print("Hello World! is our first output.")
Out[2]: Hello World! is our first output.
In [3]: print('''
Why is Python worth learning?
Because
Life is short
you need Python. ''')
Out[3]: Why is Python worth learning?
Because
Life is short
you needPython.
In [4]: print('''
Why is Python worth learning?
因为
1、Life is short
2、you need Python
''')
Out[4]: Why is Python worth learning?
因为
1、Life is short
2、you need Python
看到这里,大家会不会有一个问题,既然我们用引号标识字符串了,那么如果我们的字符串本身就是引号,或者包含引号应该怎么办呢?
这时就需要用到转义字符——反斜杠。
转义字符有两种用法:
一是用来区分语法符号以及普通符号的。
比如两个单引号之间的内容是字符串,这两个单引号只有语法意义,不会作为单引号打印出来。
如果我们想将单引号作为普通符号打印出来,就需要在每一个需要打印的单引号前都放一个转义符号,这时,单引号就会打印出来了:
In [5]: print("'Hello World!' is our first output.")
Out[5]: 'Hello World!' is our first output.
同理,要打印反斜杠本身,也只需要在反斜杠前面再放一个反斜杠就好了,变成\这样,就可以打印一个了。
二是用来代表特殊符号的。
比如print函数中的参数end的默认值就是n,也就是换行的意思,只要我们在字符串中写入n,这个位置就会回行:
In [6]: print("'Hello World!' is nour first output.")
Out[6]: 'Hello World!' is
our first output.
在Python中,类似代表特殊符号的转义字符还有很多,以下列举出来,有个概念就行。
转义字符 | 描述 |
(在行尾时) | 续行符 |
\ | 反斜杠符号 |
' | 单引号 |
" | 双引号 |
a | ASCII响铃符(BEL) |
b | ASCII退格符(BS) |