您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Python中如何實(shí)現(xiàn)字符串格式化的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
我們有時(shí)候刷抖音/B站看到封面很好看,但是進(jìn)入直播發(fā)現(xiàn),不過(guò)如此!
想必主播通過(guò)某種方式把輸出轉(zhuǎn)換為讀者想看的內(nèi)容。
是不是大概懂了什么是格式化和格式化的必要性了!
僅僅類(lèi)比,我們程序的格式化,并沒(méi)有那么過(guò)份!1輸出還是1,只是人類(lèi)更好讀懂了。
而不像網(wǎng)絡(luò)主播那樣稍微格式化(工程挺大)從1變成了0。
畢竟程序不能欺騙開(kāi)發(fā)者。
必要性:輸出為更好的格式化,方便開(kāi)發(fā)者和用戶(hù)讀懂輸出。
網(wǎng)上說(shuō)有三種,四種,未來(lái)還可能會(huì)增加其他庫(kù)。
學(xué)委開(kāi)發(fā)過(guò)多種語(yǔ)言,大概總結(jié)如下兩個(gè)大類(lèi):
字符串占位符替換
字符串關(guān)鍵字替換
下面看看代碼
python中我們最常見(jiàn)的是'%‘ 這類(lèi)占位符號(hào)
str = "hello" "this is a string: %s" % str "this is a string: %s, %s" % (str, str)
上面我們觀察一下,可以發(fā)現(xiàn)輸出中‘%s'被替換為了'hello';
另一個(gè)是多個(gè)‘%s'的替換是用一個(gè)元組,按照對(duì)應(yīng)下標(biāo)來(lái)替換。
格式化基本上都可以使用'%s'來(lái)完成。
好,懂了這個(gè),我們繼續(xù)看看下面的代碼:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/10/30 10:13 上午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷學(xué)委 # @XueWeiTag: CodingDemo # @File : string_format.py # @Project : hello import sys first = "持續(xù)學(xué)習(xí)" second = "持續(xù)開(kāi)發(fā)" slogan = first + second print(slogan) banner = "*" * 16 print(banner) slice = slogan[2:4] print(slice) print(""""學(xué)習(xí)" in slogan : %s""" % ("學(xué)習(xí)" in slogan)) print(""""不學(xué)習(xí)" not in slogan : %s""" % ("不學(xué)習(xí)" not in slogan)) print(r"""打印\n換行被當(dāng)做普通字符輸出了!""") # 以上我們都可以看到%,很多次代碼都有說(shuō)到這個(gè),但是并沒(méi)有過(guò)多解釋 print("%s" % slogan) # 最常用了%s 格式化字符串 # print("%c"%'ccc')#TypeError: %c requires int or char print("%c" % 'c') # %c 通常用來(lái)強(qiáng)制檢測(cè)待輸出的字符串必須長(zhǎng)度為1 print("%c" % '雷') # %c 通常用來(lái)強(qiáng)制檢測(cè)待輸出的字符串必須長(zhǎng)度為1 number = 102.40101 print("%%i 符號(hào)整數(shù) %i" % number) print("%%i 符號(hào)整數(shù):%i" % -number) print("%%d 符號(hào)整數(shù) %d" % number) print("%%d 符號(hào)整數(shù) %d" % -number) print("%%u 無(wú)符號(hào)整數(shù):%u" % number) print("%%u 無(wú)符號(hào)整數(shù):%u" % -number) #print("八進(jìn)制 %o" % number) print("%%o 八進(jìn)制 %o" % 102) print("%%x16進(jìn)制 %x" % 102) #print("16進(jìn)制 %X" % 102) print("%%e 自然常數(shù) e進(jìn)制: %e" % number) #print("%E" % number) print("%%f 浮點(diǎn)數(shù) %f" % number) print("%%g 靈活的有效顯示:%g" % number) #保證顯示6微有效數(shù)字的前提下,靈活的選擇小數(shù)方式,或者科學(xué)計(jì)數(shù)法 #print("%G" % number) print("%%g 靈活的有效顯示:%g" % (number*10001)) #保證顯示6微有效數(shù)字的前提下,靈活的選擇小數(shù)方式,或者科學(xué)計(jì)數(shù)法 #下面兩種寫(xiě)法需要注意執(zhí)行順序 #print("%g" % number*10001) #注意這種寫(xiě)法 #print("%g" % number**10) #注意這種寫(xiě)法
讀者可以直接復(fù)制運(yùn)行代碼,學(xué)委補(bǔ)充了運(yùn)行效果圖:
這里比較特殊的是‘%u'無(wú)符號(hào)整型的展示,正負(fù)數(shù)并無(wú)區(qū)別。
那是肯定的,無(wú)符號(hào)整型跟有符號(hào)整型是表示數(shù)的兩種手段。
但是無(wú)符號(hào)的比有符號(hào)多了一個(gè)位來(lái)放數(shù)字,所以范圍更大。
上面這段題外話(huà),小白稍微看看或者跳過(guò)。我們繼續(xù)看看其他格式化方式。
跟上面稍微區(qū)別就是我們會(huì)看到一下明顯的下標(biāo)。
{0}, {1}, … {n}
想要留幾個(gè)替換位,就放幾個(gè){}括起來(lái),但要求必須給到n個(gè)參數(shù),更多信息參考https://docs.python.org/3/library/string.html
這個(gè)非常簡(jiǎn)單直接,我們看看代碼:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/10/30 10:13 上午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷學(xué)委 # @XueWeiTag: CodingDemo # @File : string_format1.py # @Project : hello import sys slogan = "持續(xù)學(xué)習(xí)持續(xù)開(kāi)發(fā)" author = "雷學(xué)委" text = "{0}, {1}".format(slogan, author) print("text= %s" % text)
非常好理解就是類(lèi)似{}一對(duì)大括弧中間為待替換的內(nèi)容。
這個(gè)非常簡(jiǎn)單直接,我們看看代碼:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/10/30 10:13 上午 # @Author : LeiXueWei # @CSDN/Juejin/Wechat: 雷學(xué)委 # @XueWeiTag: CodingDemo # @File : string_format2.py # @Project : hello import sys slogan = "持續(xù)學(xué)習(xí)持續(xù)開(kāi)發(fā)" author = "雷學(xué)委" text = f"{slogan} , {author}" print("text= %s" % text)
運(yùn)行效果如下:
從這里看,關(guān)鍵字格式化比較友好!
感謝各位的閱讀!關(guān)于“Python中如何實(shí)現(xiàn)字符串格式化”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。