對於Python中RawString的理解


總結

1、'''作用: 可以表示 "多行注釋" 、"多行字符串" 、"其內的單雙引號不轉義"

2、r 代表的意思是: raw

3、r 只對其內的反斜杠起作用(注意單個 \ 的問題)

raw string 有什么用處呢? raw string 就是會自動將反斜杠轉義。

>>> print('\n') >>> print(r'\n') \n >>>

(注:出現了兩個空行是因為 print() 會自動添加一個空行)

再舉個例子:

>>> r'\\\\\\' == '\\\\\\\\\\\\' True >>> print('\\\\\\\\\\\\') \\\\\\ >>> print(r'\\\\\\') \\\\\\ >>> 

上述就是raw string 的基本功能。

所謂的

print(r'''1 2 3 4''') 

print('''1 2 3 4''')

效果一樣的原因其實就在於
三引號內沒有 \ 所以 r 英雄無用武之地

有一點要注意的是,raw string 並不能讓諸如 print(r'\') 起作用。因為在編譯時Python還是會嘗試使用反斜杠來轉義單引號,從而造成字符串沒有終止的問題.
舉例:

>>> print(r'C:\Windows\System32') C:\Windows\System32 >>> print('C:\\Windows\\System32') C:\Windows\System32 >>> print('C:\Windows\System32') C:\Windows\System32 >>>

最后一行也可以生效的原因是,\W 和 \S 什么都不是。所以在這個例子中Python發現“無法轉義”,所以就不做任何轉義而直接打印轉義符。但是:

>>> print('C:\Windows\System32\new') C:\Windows\System32 ew >>> print(r'C:\Windows\System32\new') C:\Windows\System32\new

就不一樣了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM