python 中,我們有些特殊符號需要表示出來的時候我們就需要轉義字元了!
先舉個例子:
>>
>
print
('/'
)/
我們要列印乙個 「斜槓」,很簡單吧!
但是你列印個 「反斜槓」 試試呢!
>>
>
print
('\')
syntaxerror: eol while scanning string literal
哎呀!報錯啦!
這是為什麼呢?
原因在於,python 中 「反斜槓」 即 「 \ 」 就是用來轉意的,叫做 「轉義字元」!
大家可以這麼理解,原來這個單引號,並不會顯示出來,而是有專門的意義:表示引號內部的內容,都是字串!(畫外音:我不是單引號,我是表示字串的工具)
轉義字元的作用,就是把後面這半個單引號的這個功能去除,轉到原本的狀態!(畫外音:我變回單引號了)
看例子:
我們如果想要直接列印個單引號出來,那我用單引號把單引號框起來,是不行滴!
print
(''')
那我用上轉義字元即可:
>>
>
print
('\''
)
'
這樣第二個單引號就回歸了原本!
符號作用
\\把反斜槓的「轉義字元」作用去除,即變為真正的反斜槓。顯示( \ )
\』把單引號的「表示字串」作用去除。顯示( 』 )
\"把雙引號的「表示字串」作用去除。顯示( " )
\a把 a 轉成「響鈴」(bel)
\b把 b 轉成「退格符」(bs)
\n把 n 轉成「換行符」(lf)
\t把 t 轉成「水平製表符」(tab)
\v把 v 轉成「垂直製表符」(vt)
\r把 r 轉成「回車符」(cr)
\f把 f 轉成「換頁符」(ff)
\0dd
把 dd 轉成「八進位制」對應的ascii碼
\xhh
把 hh 轉成「十六進製制」對應的ascii碼
接下來的 「退格符」 是非常坑爹的東西,你如果直接在 idle 中嘗試,你會發現:
>>
>
print
('aa\bkk'
)aakk
???這玩意兒沒用啊!怎麼回事?
原來在 idle 中是顯示不出來 「退格符」 的,具體原因未知!又知道的朋友歡迎分享!
我是mac系統,所以在終端中啟動python才行:
# 首先開啟終端,輸入 python3.7
# 然後就進入了 python 的介面
>>
>
print
('aa\bkk'
)akk
終於看到 「退格符」 的效果了,內牛滿面!
下面幾個就很簡單了,直接演示案例:
>>
>
print
('1\n2')1
2>>
>
print
('1\t2')1
2>>
>
print
('1\v2')1
2>>
>
print
('1\r2')1
2>>
>
print
('1\f2')1
2
由於在 idle 中,垂直製表符,回車符,換頁符看起來是一樣的。
後面的轉碼會比較複雜,但實際使用中感覺也不是很常用。
dd 表示八進位制數字,hh 表示十六進製制數字。
ascii 編碼共收錄了 128 個字元,\0和\x後面最多只能跟兩位數字,所以八進位制形式,也即是\0並不能表示所有的 ascii 字元,只有十六進製制形式,也就是\x才能表示所有 ascii 字元。
來看具體案例吧:
字元 1、2、3、x、y、z 對應的 ascii 碼的八進位制形式分別是 61、62、63、170、171、172,十六進製制形式分別是 31、32、33、78、79、7a。
>>
>
print
('八進位制:\061\062\063'
)八進位制:123
>>
>
print
('十六進製制:\x31\x32\x33\x78\x79\x7a'
)十六進製制:123xyz
關於java的轉義字元
轉移字元對應的英文是escape character 轉義字串 escape sequence 字母前面加上捺斜線 來表示常見的那些不能顯示的ascii字元.稱為轉義字元.如 0,t,n等,就稱為轉義字元,因為後面的字元,都不是它本來的ascii字元意思了。所有的轉義字元和所對應的意義 轉義字元 意...
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...