python中既然原始字串中的 不是轉義作用了,為什麼原始字串不能以 結尾呢??

時間 2021-05-31 10:16:46

1樓:青山

哈哈,是的。只能以'\\'結尾,居然不能以'\'結尾。這個我第一次寫的時候也懵逼了。

廖大神說的有道理,直譯器是人寫的,很顯然那個人沒有強迫症。要是我來寫就要把結尾和處理掉。

2樓:

記得官方的說法是,原始字串a=r"123\",\也會把緊跟的"轉義,導致直譯器認為你還沒有輸入字串結束符。所以說即使在raw string裡面,反斜槓也並不是真的絕對不作轉義。

>>> a=r"123\""

>>> a

'123\\"'

真正要表達的以反斜槓結尾的字串,可以這樣寫:a=r"123"+"\\"。

3樓:冒泡

題主可能以為raw string就是你寫什麼就應該是什麼,但人家設計這個的初衷可不一定是這樣

具體原因的實錘暫時不太好考據,畢竟文件中也只是說了規定raw string有這麼乙個特性:

s = r"..."

ss = "..."

假設兩個...的寫法一樣

那麼你對s做正常的str literal parse,得到的就剛好是ss

這個特性在使用re等庫的時候,對使用者和庫的實現都比較友好直觀

python中字串如何轉成unicode形式?

你說,你要把 u722cu866b 變b u722c u866b 很簡單,我會,迴圈遍歷,替換就好了。def hehe a sum b for x in aif x u sum b u elsesum x.encode return sum 你說要把 u722cu866b 變 unicode編碼,我...

Python中怎麼提取字串中的漢字?

Datawhale 採用正規表示式的方法對字串進行處理。str1 我 是,速 度 發 中 國 人 1 提取漢字 漢字的範圍為 u4e00 u9fa5 這個是用Unicode表示的 import reres1 join re findall u4e00 u9fa5 str1 print res1 輸出...

python中字串 s 1 是什麼意思?

酒罈壇兒 從字串的第乙個字元開始乙個乙個的取,取到倒數第乙個字元前為止 s hello s 1 hell 爬行的蝸牛 相當於 s 0 len s 1 這是一種切片操作,表示從0開始,到最後乙個數之前的所有字元。除了字串可以切片,陣列,字典都可以切片。 Occam srazor 取s字串index 0...