① python中轉義字元是什麼
在需要在字元中使用特殊字元時,python用反斜杠(\)轉義字元。
如下表:
原始字元串
有時我們並不想讓轉義字元生效,我們只想顯示字元串原來的意思,這就要用r和R來定義原始字元串。
② Python什麼情況下會輸出轉義符
可以認為一個是用的是str方法,目的是向終端顯示;一個用的repr方法,目的是把數據結構和類型表達出來
這是 Python 2 特別討厭的一點,以至於我實在忍受不了寫了個repl_py27來繞過該問題。不過最終還是遷移到 Python 3 啦 =w=
Python 2 的世界是個 ASCII 的世界,unicode 是後來加的,所以使用repr顯示的時候是把所有非 ASCII 的字元轉義顯示的。你要直接把字元串寫出來的話,Python 2 就不會進行任何轉義了,於是在支持的終端上,中文就能正常顯示了。
print 遇到非字元串時,會調用str()函數將對象轉成字元串再輸出:
>>>classT(object):
...def__repr__(self):
...return'<repr>'
...def__str__(self):
...return'<str>'
...
>>>printT()
<str>
而很多對象的__str__方法是沒有定義的,於是str()函數改調用它的__repr__方法。
又:Python 2 的字元串和 unicode 的str()輸出都是經過轉義的。這也是我討厭 Python 2 的另一個重要原因:
>>>u'中文'
u'u4e26587'
>>>'中文'
'xe4xb8xadxe6x96x87'
③ python 轉義符號\u
\u才是轉義符,而你例中的\\u本身已經取消了轉義。"\\u1234"代表「\、u、1、2、3、4」共6個字元。
④ python中的自然轉義符
是這樣子的,像\t,如果要是沒有r'\t',那麼,\t前面的\也要轉義,就要寫成'\\t',這樣如果每個\都要轉義,那你會暈掉的。所以,加了r之後你就不需要考慮再把那些\轉義成\\了。
⑤ Python轉義符
\o12代表換行
\141為何表示a
八進制12為十進制10,換行的ASCII碼為10.
八進制141為十進制97,換行的ASCII碼為97.
根據字元的ASCII碼進行輸出的!
⑥ python中對%轉義為何是%%,%和\轉義有什麼區別嗎
區別是因為python解釋器會把7交給第一個%號後面的d,而兩個%%號會被解析成一個%號。
'growth rate: %d %%' % 7
這行代碼你可以運行一下,轉義第二個%號應該是。
⑦ Python 如何解析文件中的轉義字元
我都沒用過listdit。
但是,去找了下其使用說明:
所以:
你可以試試,傳入路徑是unicode,比如:
然後,輸出的list中的文件名列表,就都是unicode了,就可以正常顯示出你要的,包括特殊字元的文件名了。
然後你就可以正常的打開了。
當然,後續處理文件時,如果是中文等非ASCII的話,也是要了解涉及到字元編碼的。這時候,最好用codecs模塊。
⑧ python 什麼字元需要轉義
不是什麼字元需要轉義,而是字元前面加斜杠後意思變了,所以叫轉義字元
比如\n 表示換行,不是字母n
⑨ python 字元串 轉義字元 \0 \x
關於轉義格式
\x**
用2個16進制數表示一個字元
\***
用3個8進制數表示一個字元
其實上面第一個的
\0
=
NULL
用的就是
8進制的轉義格式只不過是\000的縮寫,高位的0可以省去就像表示\42不用寫成\042
為什麼說他是二進制字元?
二進制字元是一個概念,意思是裡面完全由位元組數據組成,而不是平常的字元串,
列印出來你是看不見的,或是亂碼;