對於Python中RawString的理解

2022-06-08 08:51:09 字數 3797 閱讀 8162

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

就不一樣了。

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

就不一樣了。

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語句暫停的地方繼續執行,如此迴圈...