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