ascii 編碼為每個字元都分配了唯一的編號,稱為編碼值。在 python 中,乙個 ascii 字元除了可以用它的實體(也就是真正的字元)表示,還可以用它的編碼值表示。這種使用編碼值來間接地表示字元的方式稱為轉義字元(escape character)。
如果你對 ascii 編碼不了解,請猛擊:
轉義字元以\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。下面的例子演示了轉義字元的用法:
str1 = "oct: \061\062\063"str2 = "hex: \x31\x32\x33\x78\x79\x7a"
print(str1)
print(str2)
執行結果:
oct: 123
hex: 123xyz
注意,使用八進位制形式的轉義字元沒法表示 xyz,因為它們的編碼值轉換成八進位制以後有三位。
對於 ascii 編碼,0~31(十進位制)範圍內的字元為控制字元,它們都是看不見的,不能在顯示器上顯示,甚至無法從鍵盤輸入,只能用轉義字元的形式來表示。不過,直接使用 ascii 碼記憶不方便,也不容易理解,所以,針對常用的控制字元,c語言又定義了簡寫方式,完整的列表如下。
表 1 python 支援的轉義字元
轉義字元
說明\n
換行符,將游標位置移到下一行開頭。
\r回車符,將游標位置移到本行開頭。
\t水平製表符,也即 tab 鍵,一般相當於四個空格。
\a蜂鳴器響鈴。注意不是喇叭發聲,現在的計算機很多都不帶蜂鳴器了,所以響鈴不一定有效。
\b退格(backspace),將游標位置移到前一列。
\\反斜線
\'單引號
\"雙引號
\在字串行尾的續行符,即一行未完,轉到下一行繼續寫。
轉義字元在書寫形式上由多個字元組成,但 python 將它們看作是乙個整體,表示乙個字元。
python 轉義字元綜合示例:
純文字#使用\t排版複製
str1 = '**\t\t網域名稱\t\t\t年齡\t\t價值'
str2 = 'c語言中文網\tc.biancheng.net\t\t8\t\t500w'
print(str1)
print(str2)
print(str3)
print("--------------------")
# \n在輸出時換行,\在書寫字串時換行
info = "python教程:
c++教程:
linux教程:"
print(info)
執行結果:
** 網域名稱 年齡 價值c語言中文網 c.biancheng.net 8 500w
--------------------
python教程:
c++教程:
linux教程:
Python轉義字元
在需要在字元中使用特殊字元時,python 用反斜槓 轉義字元。如下表 原始字串 有時我們並不想讓轉義字元生效,我們只想顯示字串原來的意思,這就要用r和 r來定義原始字串。如 print r t r 實際輸出為 t r 轉義字元 描述 在行尾時 續行符 反斜槓符號 單引號 雙引號 a 響鈴 b 退格...
Python轉義字元
在需要在字元中使用特殊字元時,python用反斜槓 轉義字元。如下表 原始字串 有時我們並不想讓轉義字元生效,我們只想顯示字串原來的意思,這就要用r和r來定義原始字串。如 print r t r 實際輸出為 t r 轉義字元 描述 在行尾時 續行符 反斜槓符號 單引號 雙引號 a響鈴 b退格 bac...
Python轉義字元
在需要在字元中使用特殊字元時,python用反斜槓 轉義字元。如下表 原始字串 有時我們並不想讓轉義字元生效,我們只想顯示字串原來的意思,這就要用r和r來定義原始字串。如 print r t r 實際輸出為 t r 轉義字元 描述 在行尾時 續行符 反斜槓符號 單引號 雙引號 a響鈴 b退格 bac...