1. 首页
  2. IT资讯

一篇文章搞懂python的转义字符及用法

什么是转义字符

转义字符是一个计算机专业词汇。在计算机当中,我们可以写出123 ,也可以写出字母abcd,但有些字符我们无法手动书写,比如我们需要对字符进行换行处理,但不能写出来换行符,当然我们也看不见换行符。像这种情况,我们需要在字符中使用特殊字符时,就需要用到转义字符,在python里用反斜杠转义字符。

在交互式解释器中,输出的字符串用引号引起来,特殊字符用反斜杠转义。虽然可能和输入看上去不太一样,但是两个字符串是相等的。

在python里,转义字符可以转义很多字符,比如n表示换行,t表示制表符,具体都有哪些转义字符呢,见下表
在这里插入图片描述

python当中,我们定义一个字符串。可以用单引号 ‘…’ 或双引号 “…” 标识 。比如s = ‘abcd’,或者s = “abcd”,如果我们想在这样的字符串里再写一个单引号呢?比如it’s me

>>> s = 'it's me'
>>> s
  File "<ipython-input-34-9e8af72c0f6d>", line 1
    s = 'it's me'
            ^
SyntaxError: invalid syntax
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

如果这样实现,编辑器就会报错,因为这个字符串是用单引号括起来的,若果中间又出现一个单引号,到底三个单引号中哪两个单引号构成一个字符串呢?这里面就出现了歧义,而计算机最怕的就是歧义。为了解决这种情况,我们就需要用到转义字符了。

上述语句加上转义字符就是

>>> s = 'it's me'
>>> s
"it's me"
  • 1
  • 2
  • 3

上述是单引号,双引号同理:

>>> s = "使用"创建字符串"
>>> s
'使用"创建字符串'
  • 1
  • 2
  • 3

当然有些情况下不用转义字符也可以实现我们的需求,比如字符串中只有单引号而没有双引号,就用双引号引用,否则用单引号引用。举例如下:

>>> s = "it's me"
>>> s
"it's me"

>>> s = '使用"创建字符串'
>>> s
'使用"创建字符串'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

但还是推荐使用转义字符,转义字符更具有通用性,也不需要我们去判断字符串中是否只有单引号或者双引号。

另外print() 函数会生成可读性更好的输出, 它会省去引号并且打印出转义后的特殊字符。见下边:

>>> s = '"Isn't a student." she said.'
>>> s
'"Isn't a student." she said.'
>>> print(s)
"Isn't a student." she said.

>>> s = 'First line.nSecond line.'  # n means newline
>>> s  # without print(), n is included in the output
'First line.nSecond line.'
>>> print(s)  # with print(), n produces a new line
First line.
Second line.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

如果要在字符串里使用 ,即使得字符串中的用作普通字符,那么就需要字符本身也要转义,我们用\表示,\表示的字符就是

>>> s = "换行符是\n。"
>>> print(s)
换行符是n。
  • 1
  • 2
  • 3

如果字符串里面有很多字符都需要转义,就需要加很多,为了简化,Python还允许在字符串前加r,表示内部的字符串默认不转义,见下边:

>>> s = r"换行符是n。"
>>> print(s)
换行符是n。

本文来自投稿,不代表程序员编程网立场,如若转载,请注明出处:http://www.cxybcw.com/203011.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code