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

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

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

服務器之家 - 腳本之家 - Python - 淺談Python的格式化輸出

淺談Python的格式化輸出

2022-02-10 13:07_白白不白 Python

這篇文章主要介紹了python中的格式化輸出用法,分析了Python格式化輸出的種類并結合實例形式總結了針對浮點數的格式化輸出方法,需要的朋友可以參考下

python的輸出

python輸出中的print()函數,直接引用即可,它的完整格式為:

?
1
2
#最后面還有文件操作的,我們主要學習輸出相關,所以暫不加入
print(object, sep=' ', end='\n')

object——是我們要輸出的東西,可以是變量也可以是具體的數據,可以是單個也可以是多個,如果是多個中間用' , '分隔即可

sep——當我們要輸出多個東西時才會用到,它表示我們輸出的多個數據之間輸出時用什么來進行分隔,如果輸出時不設置,那就默認以一個空格來分隔

end——用來設置輸出完我們要輸出的數據之后,用什么來結尾。當你不特意進行設置時它默認為end='\n' ,所以print()函數默認輸出結束后自動換行

?
1
2
3
4
5
6
7
print(1,2,3,end='')
print(1,2,3,sep='!')
print(1,2,3,)
#它們的輸出如下:
1 2 31!2!3
1 2 3
#請仔細思考為什么這樣,理清楚頭緒

我們在C語言中學的scanf()函數是格式化輸出的,可以設置要輸出的數據的格式與數據形式,那我們在python如何來實現呢?

?
1
2
3
int a=10;
float b=6.6;
scanf("%d%f\n",a,b);

上面C語言代碼用python實現為:

?
1
2
3
4
a=10
b=6.6
print("%d%f"%(a,b))
#print(a,b,sep='')

如果對輸出數據格式有要求我們選用上面的方式,可以和c語言一樣對于輸出的格式進行修改設定

如果對輸出格式沒有要求我們選用第二種方法,比較方便,與字符串一起輸出時可以用+進行連接,但前提是輸出類型也是字符串類型的,如果不是字符串類型,那我們可以用str()函數進行強制轉換在進行連接輸出,如下:

?
1
2
a=18
print("Her age is "+a+" !")

上面這樣寫時錯誤的,因為a為賦值為18,所以a的數據類型為整型,整型不可以直接與字符串用+進行連接,所以正確的寫法應該是:

?
1
2
3
a=18
print("Her age is "+str(a)+" !")
#輸出為:Her age is 18 !

接下來具體講一下格式化輸出數據,%的格式化輸出與C語言的大同小異:

%d——十進制整數

%o —— 八進制整數

%x —— 十六進制整數

%f——浮點數,小數點后面六位有效數字

%e ——指數形式輸出,小數點后面六位有效數字

%g ——六位有效數字的前提下,使用小數方式,否則使用科學計數法

?
1
2
3
4
5
6
7
a=5
print(10)
print("%d"%a)
print("%2d"%a)#輸出時按照2個空間大小輸出,默認為右對齊
print("%-2d"%a)#2個空間大小,因為d前面是-號,所以左對齊
print("%02d"%a)#2個空間大小輸出,不夠的用0補齊
print("%-02d"%a)#2個空間大小輸出,不夠的用0補齊,左對齊

#以上代碼的輸出為:
10
5
5
5
05
5

總結一下上面代碼,%與d之間可以加一些數字或者符號來控制輸出數據的格式,具體為:

%(控制左右對齊)(用什么補齊)(按照幾位空間輸出)d分別為:

默認為右對齊,負號為左對齊

默認空格補齊,可以設置其他補齊

數字本身超過要求的空間時,無影響,數據本身不夠時,根據左右對齊,在根據補齊。說白了就是占位置

其他的數據類型也都是類似的,無論是浮點數還是字符串,如%5.2f代表,占五個位置,并且保留兩位小數,要特別注意的是浮點數的小數點也是占一個位置的,接下來看幾個實例,好好體會一下

?
1
2
3
4
5
6
7
8
b=5.21
print(b)
print("%f"%b)
print("%2.1f"%b)
print("%2.2f"%b)
print("%5.2f"%b)
print("%5.5f"%b)
print("%.5f"%b)

#上面的輸出依次為:
5.21
5.210000
5.2
5.21
5.21
5.21000
5.21000
#大家注意對比研究

有些東西必須要自己體會出來才能記下來,希望大家能夠勤奮思考,不要偷懶!

接下來介紹一個函數——str.format()

相對基本格式化輸出采用‘%'的方法,format()功能更強大,該函數把字符串當成一個模板,通過傳入的參數進行格式化,并且使用大括號‘{}'作為特殊字符代替‘%'

廢話不多說上代碼!!!

?
1
2
3
4
5
6
7
8
#通過位置匹配,類似于數組
print('{} {}'.format('hello','baibai'))#hello baibai
print('{1} {0}'.format('hello','baibai'))#baibai hello
print('{1} {1}'.format('hello','baibai'))#baibai baibai
print('{0} {0}{0}'.format('hello','baibai'))#hello hellohello
#通過對應值名字進行匹配,類似于字典
#(這里也可以傳入一個字典類型進行key與value對應取)
print('{a},{b}'.format(a='1',b='8'))#1,8

除了這些,我們還可以輸出更加復雜的數據類型

?
1
2
3
4
5
6
#還是用一下我之前定義的一個數據
goods=[(1,"百事可樂",10,3),(2,"康師傅方便面",15,2),(3,"馬克杯",5,30)]
list=[1,2,3]
print('{0[1]}'.format(goods))#(2, '康師傅方便面', 15, 2)
print('{0[1]},{1[2]}'.format(goods,list))#(2, '康師傅方便面', 15, 2),3
print('{0[1][1]}'.format(goods,list))#康師傅方便面

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!

原文鏈接:https://blog.csdn.net/apple_51673523/article/details/120805079

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: blacked亚裔videoshd| 紧缚束缚调教丨vk | 亚洲精品中文字幕第一区 | 小柔的性放荡羞辱日记 | 青青青在线观看国产精品 | 久久久无码精品无码国产人妻丝瓜 | 精品亚洲国产一区二区 | 欧美添下面视频免费观看 | 日本漫画被黄漫免费动 | 免费观看毛片视频 | 亚洲 欧美 日韩 综合 | 免费视频一级片 | 色多多视频在线 | 丝袜老师好湿好紧我要进去了 | 九色PORNY真实丨国产免费 | 午夜亚洲WWW湿好爽 午夜想想爱午夜剧场 | 国产欧美日韩视频在线观看一区二区 | 国产拍拍拍免费专区在线观看 | 国产成人啪精品午夜在线观看 | 精品免费国产一区二区三区 | 亚洲AV久久无码精品九号软件 | 放荡警察巨r麻麻出轨小说 范冰冰特黄xx大片 饭冈加奈子在线播放观看 法国老妇性xx在线播放 | 91制片厂 果冻传媒 天美传媒 | yellow高清视频日本动漫 | 亚洲精品无码不卡 | 国产精品第一区揄拍 | a男人的天堂久久a毛片 | 国产精品网站在线观看 | 国产在线98福利播放视频免费 | 国产精品久久久精品视频 | 黄a级 | 欧美一级裸片 | 日本人与黑人做爰视频网站 | 91精品国产高清久久久久久io | 蝴蝶传媒免费安装 | 出差上的少妇20p | 四虎影院在线免费播放 | 2020韩国r级理论片在线观看 | 国产福利一区二区三区 | 成人观看免费观看视频 | 亚洲 欧美 中文字幕 在线 |