python下r''、b''、f''、u''

轉自個人博客0pt1mus

r’’

轉義字符以原樣輸出,不做轉義字符識別。如\n,輸出\n,不是換行符。

print(r'hahahahahahaha\n')

輸出:

可以發現原樣輸出了\n

b’’

這裏有python2和python3的區別。

在python3中,字符串的類型有strbytes

a = '111'
type(a)
# 輸出str
type(a.encode())
# 輸出bytes
type(a.decode())
# 輸出str沒有decode的方法

在python2中,字符串的類型有strunicode

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章