一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python格式化輸出%s與format()的用法對比

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

2022-02-19 12:26數據分析與統計學之美 Python

這篇文章主要為大家介紹了python格式化輸出%s與format()的用法對比,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步

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

python2.5之前,我們使用的是老式格式化輸出:%s。從python3.0開始起(python2.6同期發布),同時支持兩個版本的格式化,多出來的一個新版本就是利用format()函數,進行格式化輸出。

 

2、為什么要學習python3支持的新式格式化輸出呢?

雖然老式的語法,兼容性很好,但是它的功能很少,很難完成復雜的任務,而format()函數進行格式化輸出,功能更加強大,從下面的學習中你會慢慢體會到。

 

3、基本用法

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

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

結果如下:

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

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

第一種方式:大括號{ }中寫的是format()傳入值所對應的下標。第二種方式:大括號{ }中的變量,和format()傳入值是一一對應的。

# --------------------方式一-----------------------
c = "{3}張飛{1}關羽{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)

結果如下:

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

 

4、填充和對齊

1)填充(只能用一個字符進行填充)

① 什么是填充?

概念:當指定了字符串最終的長度,但是現有的字符串沒有那么長,那么我們就用某種字符(填充字符)來填滿至這個長度,這就是“填充”。

② %s:實現填充功能;

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

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

結果如下:

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

③ format():實現填充功能;

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

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

結果如下:

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

總結如下:通過上述案例結果呈現,當使用的是%s,進行字符串填充的時候,默認是在原字符串左側進行填充;當使用的是format(),進行字符串填充的時候,默認是在原字符串右側進行填充。這就是我們下面要講述的"對齊"。

2)對齊

① 什么是對齊?

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

② %s:實現對齊功能,只有左對齊和右對齊;

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

結果如下:

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

③ format():實現對齊功能,不僅有左對齊和右對齊,還有居中對齊;

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

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

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

結果如下:

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

④ 使用"特定符號"進行填充;

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

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

 

5、截斷

概念:如果我們指定的"截斷長度",比實際給出的"字符串"的長度要短,會發生截斷。 1)長度和截斷長度的區別

① 什么是長度?

“{:8}”.format(“xishi is beautiful”)中,這個8表示的是填充長度,又成為長度,當字符串長度小于這個長度8的時候,會發生填充;當字符串長度大于這個長度8的時候,長度無效,返回的仍然是原來的字符串。

操作如下:

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

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

結果如下:

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

② 什么是截斷長度?

“{:10.8}”.format(“xishi is beautiful”)中,這個".8"叫做截斷長度,這個10叫做填充長度。注意:只有字符串的長度大于這個階段長度的時候,才會發生截斷。當既有截斷長度,又有填充長度的時候一般先進行截斷,截斷后再進行填充。

操作如下:

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

# 當字符串長度,小于截斷長度,返回原始字符串,截斷長度無效;
b = "{:.8}".format("abc")
display(b)

結果如下:

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

③ 填充長度和截斷長度的聯合使用

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

結果如下:

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

注意:當既有截斷長度,又有填充長度的時候一般先進行截斷,截斷后,再進行填充。

④ 使用%s完成截斷

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

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

結果如下:

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

 

6、格式化輸出中. 與數字相關的語法

1)引入案例

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

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

結果如下:

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

存在的問題:

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

2)填充整數,使用d

① 使用%s完成整數的填充;

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

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

結果如下:

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

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

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

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

結果如下:

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

3)填充浮點數,使用f(這個才是最常用的,用于保留小數點的位數);

① 引入案例

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)

結果如下:

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

存在的問題:

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

② 使用%s完成浮點數填充,保留2位有效數字;

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

結果如下:

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

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

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

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

結果如下:

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

注意:在使用浮點數填充的時候,用的最多的就是保留幾位有效數字,由于返回值默認是保留6位小數,因此需要配合使用"截斷"。

以上就是python格式化輸出%s與format()的用法對比的詳細內容,更多關于python格式化輸出對比的資料請關注服務器之家其它相關文章!

原文鏈接:https://huang-tong-xue.blog.csdn.net/article/details/103796759

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美破苞合集 magnet | 好大好爽好舒服视频 | 微拍秒拍99福利精品小视频 | 被巨大黑人的翻白眼 | 欧美四级无删版影片 | 免费的强动漫人物的 | 午夜福利试看120秒体验区 | 99久久免费看精品国产一区 | 欧美日韩人成在线观看 | 女子校生下媚药在线观看 | 96萝莉 | 深夜在线观看 | 精品一区二区高清在线观看 | 双性太子 | 亚洲免费视频在线观看 | asian4you裸模 | 久久国产精品二区99 | 亚洲天堂精品视频 | 男人躁女人p| 日韩在线一区二区 | 日韩大片免费观看 | 被高跟鞋调教丨vk | 国产精品免费aⅴ片在线观看 | 男生的j桶女人屁免费视频 男生操男生 | 小夫妻天天恶战 | 波多野给衣一区二区三区 | 99精品国产在现线免费 | 日韩免费一级片 | 小舞丝袜调教喷水沦为肉奴 | 大东北chinesexxxx露脸 | 精品久久久久久久久久香蕉 | 日本免费观看95视频网站 | 午夜一级| 欧美日韩亚洲成人 | 久久久乱码精品亚洲日韩 | sxx免费看观看美女 sss亚洲国产欧美一区二区 | sao虎在线精品永久 s0e一923春菜花在线播放 | 亚洲mv国产精品mv日本mv | 亚洲欧美一区二区三区不卡 | 五月婷婷在线免费观看 | 青青艹视频在线 |