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帶的換行,就會導致這樣的結果。