Python学习入门到精通:什么是转义字符

  • 2020 年 2 月 13 日
  • 笔记

1.什么是转义字符

文章题目虽然用了python转义字符这个词,但转义字符不是python这门语言所独有的,准确的讲,这是一个计算机专业词汇。

在计算机当中,有些字符我们无法手动书写,你可以手写出字母abcd,但你能写出来换行符么?你能看得见换行符么?

具体都有哪些转义字符呢,见下表

2.转义字符的实际应用

单引号,双引号在字符串里

python当中,定义一个字符串可以使用单引号,比如s = 'abcd',那么如何在这样的字符串里写一个单引号呢?比如你需要定义一个字符串 it's a book

s = 'it's a book'  

如果你是这样实现的,编辑器就会报错,因为这个字符串是用单引号括起来的,可是中间又出现一个单引号,到底哪两个单引号构成一个字符串呢?这里面就出现了歧义,而计算机最怕的就是歧义。

这种情况下,你就需要使用转义字符了

s = 'it's a book'  

单引号的你学会了,双引号的也是相同的道理

s = "使用"创建字符串"  

如果要在字符串里使用 呢,则需要写成

s = "换行符是\n"  print(s)  

执行代码,输出结果为

换行符是n  

写文件时使用换行符

lst = ['book', 'python', 'good']  

现在要求你将列表里的单词写入到文件中,每个单词一行,写文件要用write方法,但是这个方法是不会主动添加换行符的,因此我们必须主动加上

lst = ['book', 'python', 'good']    with open('data', 'w')as f:      for word in lst:          f.write(word + "n")  

如果你把代码里的f.write(word + "n") 修改成f.write(word),文件里最终只有一行数据

读取文件时,要去掉换行符

读取文件时,不论是是用readline,还是readlines,每一行的末尾的换行符也会被读取,但这个换行符是没有什么作用的,因此需要删除

with open('data', 'r')as f:      for line in f:          print(line.strip())  

程序输出结果是

book  python  good  

字符串的strip方法可以移除字符串头尾指定的字符(默认为空格或换行符)或字符序列

如果你把print(line.strip())这行代码改成print(line),不去除末尾的换行符,程序最终输出结果就会变成

book    python    good    

输出的内容不是紧挨着的,这是因为读取到的line末尾有一个换行符,print输出原本就是换行输出的,再加上line带的换行,就会导致这样的结果。