淺析python字符串前加r、f、u、l 的區(qū)別
先給大家介紹下Python 字符串前面加u,r,b,f的含義(字符串前綴)
1、字符串前加 u
例:u"我是含有中文字符組成的字符串。"
作用:
后面字符串以 Unicode 格式 進行編碼,一般用在中文字符串前面,防止因為源碼儲存格式問題,導致再次使用時出現(xiàn)亂碼。
2、字符串前加 r
例:r"\n\n\n\n” # 表示一個普通生字符串 \n\n\n\n,而不表示換行了。
作用:
去掉反斜杠的轉移機制。
(特殊字符:即那些,反斜杠加上對應字母,表示對應的特殊含義的,比如最常見的”\n”表示換行,”\t”表示Tab等。 )
應用:
常用于正則表達式,對應著re模塊。
3、字符串前加 b
例: response = b'<h1>Hello World!</h1>' # b' ' 表示這是一個 bytes 對象
作用:
b" "前綴表示:后面字符串是bytes 類型。
用處:
網(wǎng)絡編程中,服務器和瀏覽器只認bytes 類型數(shù)據(jù)。
如:send 函數(shù)的參數(shù)和 recv 函數(shù)的返回值都是 bytes 類型
附:
在 Python3 中,bytes 和 str 的互相轉換方式是
str.encode('utf-8') bytes.decode('utf-8')
4、字符串前加 f
import time t0 = time.time() time.sleep(1) name = 'processing'
# 以 f開頭表示在字符串內(nèi)支持大括號內(nèi)的python 表達式 print(f'{name} done in {time.time() - t0:.2f} s')
輸出:
processing done in 1.00 s
下面介紹下python字符串前加r、f、u、l 的區(qū)別
f-strings 是指以 f 或 F 開頭的字符串,其中以 {} 包含的表達式會進行值替換。(目前支持python3.6版本)
下面看下 f-strings 的使用方法
基本使用(作用:替換值)
>>>name = 'xiaoming' >>> age = 18 >>> f"hi, {name}, are you {age}" #結果如下 'hi, xiaoming, are you 18' >>> F"hi, {name}, are you {age}" 'hi, xiaoming, are you 18'
在字符串前加r可防止字符串轉義
作用:沒有轉義特殊或不能打印的字符。
>>> s='abc\nabc' >>> s 'abc\nabc' >>> print s abc abc >>> s=r'abc\nabc' >>> s 'abc\\nabc' >>> print s abc\nabc
u/U:表示unicode字符串
不是僅僅是針對中文, 可以針對任何的字符串,代表是對字符串進行unicode編碼。
一般英文字符在使用各種編碼下, 基本都可以正常解析, 所以一般不帶u;但是中文, 必須表明所需編碼, 否則一旦編碼轉換就會出現(xiàn)亂碼。 建議所有編碼方式采用utf8
字符串前加 “l(fā)”
表示寬字符,unicode字符( unicode字符集是兩個字節(jié)組成的。L告示編譯器使用兩個字節(jié)的 unicode 字符集) 如 L"我的字符串" 表示將ANSI字符串轉換成unicode的字符串,就是每個字符占用兩個字節(jié)。
不加時占用字節(jié) strlen("asd") = 3; 加之后占用字節(jié) strlen(L"asd") = 6;
到此這篇關于淺析python字符串前加r、f、u、l 的區(qū)別的文章就介紹到這了,更多相關python字符串r、f、u、l內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python鏈接oracle數(shù)據(jù)庫以及數(shù)據(jù)庫的增刪改查實例
下面小編就為大家分享一篇python鏈接oracle數(shù)據(jù)庫以及數(shù)據(jù)庫的增刪改查實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01利用Python實現(xiàn)一個可定制風格的繪圖系統(tǒng)
這篇文章主要為大家詳細介紹了如何基于Python實現(xiàn)一個可定制風格的繪圖系統(tǒng),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解下2023-09-09詳解Ubuntu16.04安裝Python3.7及其pip3并切換為默認版本
這篇文章主要介紹了詳解Ubuntu16.04安裝Python3.7及其pip3并切換為默認版本,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02Python實現(xiàn)計算長方形面積(帶參數(shù)函數(shù)demo)
今天小編就為大家分享一篇Python實現(xiàn)計算長方形面積(帶參數(shù)函數(shù)demo),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01python 根據(jù)csv表頭、列號讀取數(shù)據(jù)的實現(xiàn)
這篇文章主要介紹了python 根據(jù)csv表頭、列號讀取數(shù)據(jù)的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05