【基礎教程】Python轉義字符及用法

ASCII 編碼爲每個字符都分配了唯一的編號,稱爲編碼值。在 Python 中,一個 ASCII 字符除了可以用它的實體(也就是真正的字符)表示,還可以用它的編碼值表示。這種使用編碼值來間接地表示字符的方式稱爲轉義字符(Escape Character)。
 

轉義字符以\0或者\x開頭,以\0開頭表示後跟八進制形式的編碼值,以\x開頭表示後跟十六進制形式的編碼值,Python 中的轉義字符只能使用八進制或者十六進制。具體格式如下:

\0dd
\xhh

dd 表示八進制數字,hh 表示十六進制數字。

ASCII 編碼共收錄了 128 個字符,\0\x後面最多隻能跟兩位數字,所以八進制形式\0並不能表示所有的 ASCII 字符,只有十六進制形式\x才能表示所有 ASCII 字符。

我們一直在說 ASCII 編碼,沒有提及 Unicode、GBK、Big5 等其它編碼(字符集),是因爲 Python 轉義字符只對 ASCII 編碼(128 個字符)有效,超出範圍的行爲是不確定的。

字符 1、2、3、x、y、z 對應的 ASCII 碼的八進制形式分別是 61、62、63、170、171、172,十六進制形式分別是 31、32、33、78、79、7A。下面的例子演示了轉義字符的用法:


 
  1. str1 = "Oct: \061\062\063"
  2. str2 = "Hex: \x31\x32\x33\x78\x79\x7A"
  3. print(str1)
  4. print(str2)

運行結果:

Oct: 123
Hex: 123xyz

注意,使用八進制形式的轉義字符沒法表示 xyz,因爲它們的編碼值轉換成八進制以後有三位。

對於 ASCII 編碼,0~31(十進制)範圍內的字符爲控制字符,它們都是看不見的,不能在顯示器上顯示,甚至無法從鍵盤輸入,只能用轉義字符的形式來表示。不過,直接使用 ASCII 碼記憶不方便,也不容易理解,所以,針對常用的控制字符,C語言又定義了簡寫方式,完整的列表如下。
 

表 1 Python 支持的轉義字符
轉義字符 說明
\n 換行符,將光標位置移到下一行開頭。
\r 回車符,將光標位置移到本行開頭。
\t 水平製表符,也即 Tab 鍵,一般相當於四個空格。
\a 蜂鳴器響鈴。注意不是喇叭發聲,現在的計算機很多都不帶蜂鳴器了,所以響鈴不一定有效。
\b 退格(Backspace),將光標位置移到前一列。
\\ 反斜線
\' 單引號
\" 雙引號
\ 在字符串行尾的續行符,即一行未完,轉到下一行繼續寫。


轉義字符在書寫形式上由多個字符組成,但 Python 將它們看作是一個整體,表示一個字符。

Python 轉義字符綜合示例:


 
  1. #使用\t排版
  2. str1 = '網站\t\t域名\t\t\t年齡\t\t價值'
  3. str2 = 'C語言中文網\tc.biancheng.net\t\t8\t\t500W'
  4. str3 = '百度\t\twww.baidu.com\t\t20\t\t500000W'
  5. print(str1)
  6. print(str2)
  7. print(str3)
  8.  
  9. print("--------------------")
  10.  
  11. # \n在輸出時換行,\在書寫字符串時換行
  12. info = "Python教程:http://c.biancheng.net/python/\n\
  13. C++教程:http://c.biancheng.net/cplus/\n\
  14. Linux教程:http://c.biancheng.net/linux_tutorial/"
  15. print(info)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章