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'''123
4''')
和
print('''123
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
就不一樣了。 對於Python中 property的理解和使用
2017年09月02日 22 03 22 重看狗書,看到對user表定義的時候有下面兩行 property def password self raise attributeerror password is not a readable attribute password.setter def ...
對於Python中 property的理解和使用
property 這個我們在很多 中都會用到,簡單講即為乙個唯讀屬性的呼叫 如果需要有修改許可權,需要再加乙個 屬性名.setter 例 usr bin env python coding utf 8 property 示例class student object propertydef score...
對於Python中yield的理解
yield常見用法 該關鍵字用於函式中會把函式包裝為generator。然後可以對該generator進行迭代 for x in fun param 在乙個函式中,程式執行到yield語句的時候,程式暫停,返回yield後面表示式的值,在下一次呼叫的時候,從yield語句暫停的地方繼續執行,如此迴圈...