欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python格式化輸出%s與format()的用法對(duì)比

 更新時(shí)間:2021年10月27日 14:08:34   作者:數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)之美  
這篇文章主要為大家介紹了python格式化輸出%s與format()的用法對(duì)比,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步

1、python格式化輸出歷史起源

 python2.5之前,我們使用的是老式格式化輸出:%s。從python3.0開(kāi)始起(python2.6同期發(fā)布),同時(shí)支持兩個(gè)版本的格式化,多出來(lái)的一個(gè)新版本就是利用format()函數(shù),進(jìn)行格式化輸出。

2、為什么要學(xué)習(xí)python3支持的新式格式化輸出呢?

雖然老式的語(yǔ)法,兼容性很好,但是它的功能很少,很難完成復(fù)雜的任務(wù),而format()函數(shù)進(jìn)行格式化輸出,功能更加強(qiáng)大,從下面的學(xué)習(xí)中你會(huì)慢慢體會(huì)到。

3、基本用法

a = "%s張飛%s關(guān)羽%s劉備%s趙云" % (1,2,3,4)
display(a)

b  = "{}張飛{}關(guān)羽{}劉備{}趙云".format(1,2,3,4)
display(b)

結(jié)果如下:

在這里插入圖片描述

format()支持位置格式化填充,%s不支持;

第一種方式:大括號(hào){ }中寫(xiě)的是format()傳入值所對(duì)應(yīng)的下標(biāo)。第二種方式:大括號(hào){ }中的變量,和format()傳入值是一一對(duì)應(yīng)的。

# --------------------方式一-----------------------
c = "{3}張飛{1}關(guān)羽{2}劉備{0}趙云".format(1,2,3,4)
display(c)
# --------------------方式二-----------------------
def my_hobbies(fruit,ball,drink):
    hobbies = "我喜歡水果{fruit},我也喜歡球類{ball},我還喜歡飲料{drink}".format(ball=ball,fruit=fruit,drink=drink)
    return hobbies

fruit = "apple"
ball = "basketball"
drink = "milk"
my_hobbies(fruit,ball,drink)
# --------------------方式二-----------------------
fruit = "apple"
ball = "basketball"
drink = "milk"
hobbies = "我喜歡水果{fruit},我也喜歡球類{ball},我還喜歡飲料{drink}".format(ball=ball,fruit=fruit,drink=drink)
display(hobbies)

結(jié)果如下:

在這里插入圖片描述

4、填充和對(duì)齊

1)填充(只能用一個(gè)字符進(jìn)行填充)

① 什么是填充?

概念:當(dāng)指定了字符串最終的長(zhǎng)度,但是現(xiàn)有的字符串沒(méi)有那么長(zhǎng),那么我們就用某種字符(填充字符)來(lái)填滿至這個(gè)長(zhǎng)度,這就是“填充”。

② %s:實(shí)現(xiàn)填充功能;

a = "%s" % ("張飛")
display(a)

b = "%10s" % ("張飛")
display(b)

結(jié)果如下:

在這里插入圖片描述

③ format():實(shí)現(xiàn)填充功能;

c = "{}".format("張飛")
display(c)

d = "{:10}".format("張飛")
display(d)

結(jié)果如下:

在這里插入圖片描述

總結(jié)如下:通過(guò)上述案例結(jié)果呈現(xiàn),當(dāng)使用的是%s,進(jìn)行字符串填充的時(shí)候,默認(rèn)是在原字符串左側(cè)進(jìn)行填充;當(dāng)使用的是format(),進(jìn)行字符串填充的時(shí)候,默認(rèn)是在原字符串右側(cè)進(jìn)行填充。這就是我們下面要講述的"對(duì)齊"。

2)對(duì)齊

① 什么是對(duì)齊?

概念:"對(duì)齊"要與"填充"一起使用,才會(huì)顯得有意義。當(dāng)我們進(jìn)行填充的時(shí)候,我們可以選擇只在字符串左側(cè)填充,也可以選擇只在字符串右側(cè)填充,還可以選擇在字符串兩側(cè)填充(字符串居中顯示的填充方式)。

② %s:實(shí)現(xiàn)對(duì)齊功能,只有左對(duì)齊和右對(duì)齊;

# 左填充
a = '%10s' % ('張飛')
display(a)
# 右填充
b = '%-10s' % ('張飛')
display(b)

結(jié)果如下:

在這里插入圖片描述

③ format():實(shí)現(xiàn)對(duì)齊功能,不僅有左對(duì)齊和右對(duì)齊,還有居中對(duì)齊;

# 左填充
a = '{:>10}'.format('張飛')
display(a)

# 右填充
b = '{:<10}'.format('張飛')
display(b)

# 居中填充
c = '{:^10}'.format('張飛')
display(c)

結(jié)果如下:

在這里插入圖片描述

④ 使用"特定符號(hào)"進(jìn)行填充;

舊版語(yǔ)法中(%s),使用"特定符號(hào)"填充,很麻煩,不直接,你也不用去管。這里主要看新版語(yǔ)法中(format()函數(shù)),進(jìn)行"特定符號(hào)"填充。

在這里插入圖片描述 

5、截?cái)?/h2>

概念:如果我們指定的"截?cái)嚅L(zhǎng)度",比實(shí)際給出的"字符串"的長(zhǎng)度要短,會(huì)發(fā)生截?cái)唷?1)長(zhǎng)度和截?cái)嚅L(zhǎng)度的區(qū)別

① 什么是長(zhǎng)度?

“{:8}”.format(“xishi is beautiful”)中,這個(gè)8表示的是填充長(zhǎng)度,又成為長(zhǎng)度,當(dāng)字符串長(zhǎng)度小于這個(gè)長(zhǎng)度8的時(shí)候,會(huì)發(fā)生填充;當(dāng)字符串長(zhǎng)度大于這個(gè)長(zhǎng)度8的時(shí)候,長(zhǎng)度無(wú)效,返回的仍然是原來(lái)的字符串。

操作如下:

a = "{:8}".format("xishi")
display(a)

b = "{:8}".format("xishi is beautiful")
display(b)

結(jié)果如下:

在這里插入圖片描述

② 什么是截?cái)嚅L(zhǎng)度?

“{:10.8}”.format(“xishi is beautiful”)中,這個(gè)".8"叫做截?cái)嚅L(zhǎng)度,這個(gè)10叫做填充長(zhǎng)度。注意:只有字符串的長(zhǎng)度大于這個(gè)階段長(zhǎng)度的時(shí)候,才會(huì)發(fā)生截?cái)唷.?dāng)既有截?cái)嚅L(zhǎng)度,又有填充長(zhǎng)度的時(shí)候一般先進(jìn)行截?cái)啵財(cái)嗪笤龠M(jìn)行填充。

操作如下:

a = "{:.8}".format("xishi is beautiful")
display(a)

# 當(dāng)字符串長(zhǎng)度,小于截?cái)嚅L(zhǎng)度,返回原始字符串,截?cái)嚅L(zhǎng)度無(wú)效;
b = "{:.8}".format("abc")
display(b)

結(jié)果如下:

在這里插入圖片描述

③ 填充長(zhǎng)度和截?cái)嚅L(zhǎng)度的聯(lián)合使用

a = "{:*>15.8}".format("xishi is beautiful")
display(a)

結(jié)果如下:

在這里插入圖片描述

注意:當(dāng)既有截?cái)嚅L(zhǎng)度,又有填充長(zhǎng)度的時(shí)候一般先進(jìn)行截?cái)啵財(cái)嗪?,再進(jìn)行填充。

④ 使用%s完成截?cái)?/p>

a = "%.8s" % ("xishi is beautiful")
display(a)

b = "%15.8s" % ("xishi is beautiful")
display(b)

結(jié)果如下:

在這里插入圖片描述

6、格式化輸出中,與數(shù)字相關(guān)的語(yǔ)法

1)引入案例

a = '{}-{}'.format("1","2")
display(a)

b = '{}-{}'.format(1,2)
display(b)

結(jié)果如下:

在這里插入圖片描述

存在的問(wèn)題:

在這里插入圖片描述

2)填充整數(shù),使用d

① 使用%s完成整數(shù)的填充;

a = '%5d' % (3000)
display(a)

b = '%d' % ("3000")
display(b)

結(jié)果如下:

在這里插入圖片描述

② 使用format()完成整數(shù)的填充;

a = '{:$>5d}'.format(3000)
display(a)

b = '{:¥>5d}'.format(3000)
display(b)

結(jié)果如下:

在這里插入圖片描述

3)填充浮點(diǎn)數(shù),使用f(這個(gè)才是最常用的,用于保留小數(shù)點(diǎn)的位數(shù));

① 引入案例

a = '{:f}'.format(3.14159268)
display(a)

b = '{:f}'.format(3.1415921)
display(b)

c = '{:f}'.format(312)
display(c)

d = '{:d}'.format(12,34)
display(d)

結(jié)果如下:

在這里插入圖片描述

存在的問(wèn)題:

在這里插入圖片描述

② 使用%s完成浮點(diǎn)數(shù)填充,保留2位有效數(shù)字;

a = '%.2f' % (3.1415)
display(a)

結(jié)果如下:

在這里插入圖片描述

③ 使用format()完成浮點(diǎn)數(shù)的填充,保留2位有效數(shù)字;

b = '{:.2f}'.format(3.1415)
display(b)

c = '{:$>5.2f}'.format(3.1415)
display(c)

結(jié)果如下:

在這里插入圖片描述

注意:在使用浮點(diǎn)數(shù)填充的時(shí)候,用的最多的就是保留幾位有效數(shù)字,由于返回值默認(rèn)是保留6位小數(shù),因此需要配合使用"截?cái)?。

以上就是python格式化輸出%s與format()的用法對(duì)比的詳細(xì)內(nèi)容,更多關(guān)于python格式化輸出對(duì)比的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實(shí)現(xiàn)的快速排序算法詳解

    Python實(shí)現(xiàn)的快速排序算法詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)的快速排序算法,結(jié)合實(shí)例形式分析了Python快速排序的原理、實(shí)現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • python一鍵升級(jí)所有pip package的方法

    python一鍵升級(jí)所有pip package的方法

    下面小編就為大家?guī)?lái)一篇python一鍵升級(jí)所有pip package的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • python+selenium打印當(dāng)前頁(yè)面的titl和url方法

    python+selenium打印當(dāng)前頁(yè)面的titl和url方法

    今天小編就為大家分享一篇python+selenium打印當(dāng)前頁(yè)面的titl和url方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 在服務(wù)器上安裝python3.8.2環(huán)境的教程詳解

    在服務(wù)器上安裝python3.8.2環(huán)境的教程詳解

    這篇文章主要介紹了在服務(wù)器上安裝python3.8.2環(huán)境的教程詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python存取XML的常見(jiàn)方法實(shí)例分析

    Python存取XML的常見(jiàn)方法實(shí)例分析

    這篇文章主要介紹了Python存取XML的常見(jiàn)方法,結(jié)合具體實(shí)例形式較為詳細(xì)的分析了Python存取xml的常用方法、優(yōu)缺點(diǎn)比較與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-03-03
  • Python讀寫(xiě)鎖實(shí)現(xiàn)實(shí)現(xiàn)代碼解析

    Python讀寫(xiě)鎖實(shí)現(xiàn)實(shí)現(xiàn)代碼解析

    這篇文章主要介紹了Python讀寫(xiě)鎖實(shí)現(xiàn)實(shí)現(xiàn)代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • PyTorch中Tensor的拼接與拆分的實(shí)現(xiàn)

    PyTorch中Tensor的拼接與拆分的實(shí)現(xiàn)

    這篇文章主要介紹了PyTorch中Tensor的拼接與拆分的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python之value_counts()的具體使用

    python之value_counts()的具體使用

    value_counts()?是一個(gè)用于統(tǒng)計(jì)某列中各個(gè)值的出現(xiàn)次數(shù)的函數(shù),本文主要介紹了python之value_counts()的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Python使用循環(huán)神經(jīng)網(wǎng)絡(luò)解決文本分類問(wèn)題的方法詳解

    Python使用循環(huán)神經(jīng)網(wǎng)絡(luò)解決文本分類問(wèn)題的方法詳解

    這篇文章主要介紹了Python使用循環(huán)神經(jīng)網(wǎng)絡(luò)解決文本分類問(wèn)題的方法,結(jié)合實(shí)例形式詳細(xì)分析了Python神經(jīng)網(wǎng)絡(luò)相關(guān)概念、原理及解決文本分類具體操作技巧,需要的朋友可以參考下
    2020-01-01
  • 詳解Anconda環(huán)境下載python包的教程(圖形界面+命令行+pycharm安裝)

    詳解Anconda環(huán)境下載python包的教程(圖形界面+命令行+pycharm安裝)

    這篇文章主要介紹了Anconda環(huán)境下載python包的教程(圖形界面+命令行+pycharm安裝),這篇文章很適合小白入手級(jí)別的,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11

最新評(píng)論