總結
1、'''作用: 可以表示 "多行注釋" 、"多行字符串" 、"其內的單雙引號不轉義"
2、r 代表的意思是: raw
3、r 只對其內的反斜杠起作用(注意單個 \ 的問題)
raw string 有什么用處呢? raw string 就是會自動將反斜杠轉義。
1
2
3
4
5
6
|
>>> print ( '\n' ) >>> print (r '\n' ) \n >>> |
(注:出現了兩個空行是因為 print() 會自動添加一個空行)
再舉個例子:
1
2
3
4
5
6
7
|
>>> r '\\\\\\' == ' \\\\\\\\\\\\' True >>> print ( '\\\\\\\\\\\\' ) \\\\\\ >>> print (r '\\\\\\' ) \\\\\\ >>> |
上述就是raw string 的基本功能。
所謂的
1
2
3
4
|
print (r '''1 2 3 4''' ) |
和
1
2
3
4
|
print ( '''1 2 3 4''' ) |
效果一樣的原因其實就在于
三引號內沒有 \ 所以 r 英雄無用武之地
有一點要注意的是,raw string 并不能讓諸如 print(r'\') 起作用。因為在編譯時Python還是會嘗試使用反斜杠來轉義單引號,從而造成字符串沒有終止的問題.
舉例:
>>> print(r'C:\Windows\System32')
C:\Windows\System32
1
2
3
4
5
6
|
>>> print ( 'C:\\Windows\\System32' ) C:\Windows\System32 >>> print ( 'C:\Windows\System32' ) C:\Windows\System32 >>> |
最后一行也可以生效的原因是,\W 和 \S 什么都不是。所以在這個例子中Python發現“無法轉義”,所以就不做任何轉義而直接打印轉義符。但是:
1
2
3
4
5
6
|
>>> print ( 'C:\Windows\System32\new' ) C:\Windows\System32 ew >>> print (r 'C:\Windows\System32\new' ) C:\Windows\System32\new |
就不一樣了。
以上這篇對于Python中RawString的理解介紹就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。