一篇文章搞懂python的轉(zhuǎn)義字符及用法
什么是轉(zhuǎn)義字符
轉(zhuǎn)義字符是一個計算機專業(yè)詞匯。在計算機當(dāng)中,我們可以寫出123 ,也可以寫出字母abcd,但有些字符我們無法手動書寫,比如我們需要對字符進行換行處理,但不能寫出來換行符,當(dāng)然我們也看不見換行符。像這種情況,我們需要在字符中使用特殊字符時,就需要用到轉(zhuǎn)義字符,在python里用反斜杠轉(zhuǎn)義字符。
在交互式解釋器中,輸出的字符串用引號引起來,特殊字符用反斜杠轉(zhuǎn)義。雖然可能和輸入看上去不太一樣,但是兩個字符串是相等的。
在python里,轉(zhuǎn)義字符可以轉(zhuǎn)義很多字符,比如n表示換行,t表示制表符,具體都有哪些轉(zhuǎn)義字符呢,見下表
python當(dāng)中,我們定義一個字符串??梢杂脝我?‘…’ 或雙引號 “…” 標(biāo)識 。比如s = ‘a(chǎn)bcd’,或者s = “abcd”,如果我們想在這樣的字符串里再寫一個單引號呢?比如it’s me
>>> s = ’it’s me’>>> s File '<ipython-input-34-9e8af72c0f6d>', line 1 s = ’it’s me’ ^SyntaxError: invalid syntax
如果這樣實現(xiàn),編輯器就會報錯,因為這個字符串是用單引號括起來的,若果中間又出現(xiàn)一個單引號,到底三個單引號中哪兩個單引號構(gòu)成一個字符串呢?這里面就出現(xiàn)了歧義,而計算機最怕的就是歧義。為了解決這種情況,我們就需要用到轉(zhuǎn)義字符了。
上述語句加上轉(zhuǎn)義字符就是
>>> s = ’it’s me’>>> s'it’s me'
上述是單引號,雙引號同理:
>>> s = '使用'創(chuàng)建字符串'>>> s’使用'創(chuàng)建字符串’
當(dāng)然有些情況下不用轉(zhuǎn)義字符也可以實現(xiàn)我們的需求,比如字符串中只有單引號而沒有雙引號,就用雙引號引用,否則用單引號引用。舉例如下:
>>> s = 'it’s me'>>> s'it’s me'>>> s = ’使用'創(chuàng)建字符串’>>> s’使用'創(chuàng)建字符串’
但還是推薦使用轉(zhuǎn)義字符,轉(zhuǎn)義字符更具有通用性,也不需要我們?nèi)ヅ袛嘧址惺欠裰挥袉我柣蛘唠p引號。
另外print() 函數(shù)會生成可讀性更好的輸出, 它會省去引號并且打印出轉(zhuǎn)義后的特殊字符。見下邊:
>>> s = ’'Isn’t a student.' she said.’>>> s’'Isn’t a student.' she said.’>>> print(s)'Isn’t a student.' she said.>>> s = ’First line.nSecond line.’ # n means newline>>> s # without print(), n is included in the output’First line.nSecond line.’>>> print(s) # with print(), n produces a new lineFirst line.Second line.
如果要在字符串里使用 ,即使得字符串中的用作普通字符,那么就需要字符本身也要轉(zhuǎn)義,我們用表示,表示的字符就是
>>> s = '換行符是n。'>>> print(s)換行符是n。
如果字符串里面有很多字符都需要轉(zhuǎn)義,就需要加很多,為了簡化,Python還允許在字符串前加r,表示內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義,見下邊:
>>> s = r'換行符是n。'>>> print(s)換行符是n。
到此這篇關(guān)于一篇文章搞懂python的轉(zhuǎn)義字符及用法的文章就介紹到這了,更多相關(guān)python 轉(zhuǎn)義字符內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python實現(xiàn)讀取類別頻數(shù)數(shù)據(jù)畫水平條形圖案例2. python中PyQuery庫用法分享3. python操作數(shù)據(jù)庫獲取結(jié)果之fetchone和fetchall的區(qū)別說明4. CSS3實現(xiàn)動態(tài)翻牌效果 仿百度貼吧3D翻牌一次動畫特效5. PHP獲取時間戳等相關(guān)函數(shù)匯總6. php5.6不能擴展redis.so的解決方法7. php使用正則驗證密碼字段的復(fù)雜強度原理詳細(xì)講解 原創(chuàng)8. Ajax實現(xiàn)頁面無刷新留言效果9. AJAX實現(xiàn)數(shù)據(jù)的增刪改查操作詳解【java后臺】10. ASP.NET MVC前臺動態(tài)添加文本框并在后臺使用FormCollection接收值
