2016年1月9日code
一、'''做用: 能夠表示 "多行註釋" 、"多行字符串" 、"其內的單雙引號不轉義" 二、r 表明的意思是: raw 三、r 只對其內的反斜槓起做用(注意單個 \ 的問題)
raw string 有什麼用處呢? raw string 就是會自動將反斜槓轉義。字符串
>>> print('\n') >>> print(r'\n') \n >>>
(注:出現了兩個空行是由於 print() 會自動添加一個空行)string
再舉個例子:編譯
>>> r'\\\\\\' == '\\\\\\\\\\\\' True >>> print('\\\\\\\\\\\\') \\\\\\ >>> print(r'\\\\\\') \\\\\\ >>>
上述就是raw string 的基本功能。總結
所謂的註釋
print(r'''1 2 3 4''')
和co
print('''1 2 3 4''')
效果同樣的緣由其實就在於
三引號內沒有 \
因此 r
英雄無用武之地block
有一點要注意的是,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發現「沒法轉義」,因此就不作任何轉義而直接打印轉義符。可是:new
>>> print('C:\Windows\System32\new') C:\Windows\System32 ew >>> print(r'C:\Windows\System32\new') C:\Windows\System32\new
就不同了。