轉自個人博客0pt1mus
r’’
轉義字符以原樣輸出,不做轉義字符識別。如\n
,輸出\n
,不是換行符。
print(r'hahahahahahaha\n')
輸出:
可以發現原樣輸出了\n
。
b’’
這裏有python2和python3的區別。
在python3中,字符串的類型有str
和bytes
。
a = '111'
type(a)
# 輸出str
type(a.encode())
# 輸出bytes
type(a.decode())
# 輸出str沒有decode的方法
在python2中,字符串的類型有str
和unicode
。
a = '111'
type(a)
# 輸出str
type(a.encode())
# 輸出str
type(a.decode())
# 輸出unicode
我們可以發現,python2中的str就是python3中的str.encode()後的,而python3中的str就是python2中str.decode()後的。也就是說,在兩個版本中默認的str有如下關係。
因此,在python3中,b'111'
等同於'111'.encode()
。
u’’
表示該字符串是unicode編碼的,python3的默認編碼方式就是unicode。
這裏要說一下,unicode是一種標準,是字符集,符合這一標準的編碼方式有utf-8、utf-16、utf-32等。
f’’
格式化字符串的輸入方式,見下面的例子。
a = 'name'
b = '0pt1mus'
'my {} is {}'.format(a, b)
f'my {a} is {b}'
上面的兩種格式化字符串都沒有問題,但f''
是不是更加方便吶。
參考:https://blog.csdn.net/gymaisyl/article/details/85109627