- 本教程為python3文檔解讀
- 本教程面向完全型小白,只要你會在電腦上打字,那你就可以看懂。
- 參考視頻觀看,味道更加:https://space.bilibili.com/186584185/#!/video
- 建議優(yōu)先閱讀本系列的《編程的本質(zhì)》這一章節(jié)。
- 推薦閱讀:《跟我讀python3文檔:016_帶你手撕程序,展現(xiàn)一個函數(shù)如何從思路到實(shí)現(xiàn)》
作者:咖喱py
貫穿始終的理念:別廢話,就是干!
往期回顧:
- 匿名函數(shù)lambda
- 列表推導(dǎo)式
- 數(shù)據(jù)結(jié)構(gòu)
- 模塊
文檔解讀
python3文檔第七小節(jié)鏈接地址:7. Input and Output
本章主要講解7.1. Fancier Output Formatting(格式化輸出)這個小節(jié)
我一直覺得格式化輸出這個翻譯不是很理想,容易讓我們誤解為格硬盤。。。
如果翻譯為:樣式化、模版化,也許會好理解一些。
但這里我們跟隨主流翻譯,依舊用格式化輸出這個翻譯。
其實(shí)格式化輸出基本知識點(diǎn)只有兩處,其他的都是一些細(xì)節(jié)問題。這些細(xì)節(jié)會和我們之前學(xué)習(xí)的知識點(diǎn)有所雷同,所以, 基本上看一下就知道是怎么回事兒了。
知識點(diǎn)(一)
我們直接舉例說明:
>>> print( '{}愛吃{}。'.format('咖喱py', '咖喱'))
咖喱py愛吃咖喱。
看明白發(fā)生了什么嗎?
format( )方法中的兩個字符串參數(shù)被傳入了print( )函數(shù)要打印的字符串中,替代了里面的花括號。
結(jié)構(gòu)分析:
- print( )函數(shù)
- 用來輸出的字符串
用引號括起來的部分是字符串 - 花括號
用來占位,這有點(diǎn)像我們小學(xué)時的填空題,不過括號換成了花括號而已。 - format( )方法
它是字符串的方法,和其他數(shù)據(jù)類型的方法調(diào)用一樣,用點(diǎn)連接。 - 字符串參數(shù)
format( )方法的參數(shù)
其他細(xì)節(jié):
format( )方法有很多細(xì)節(jié)需要學(xué)習(xí)。
比如:
>>> print('{0} and {1}'.format('spam', 'eggs'))
spam and eggs
>>> print('{1} and {0}'.format('spam', 'eggs'))
eggs and spam
通過花括號中的數(shù)字,來選擇位置參數(shù)。
再比如:
>>> print('This {food} is {adjective}.'.format(
... food='spam', adjective='absolutely horrible'))
This spam is absolutely horrible.
通過關(guān)鍵字參數(shù)來替換花括號。
還有一個小細(xì)節(jié)最好也要知道:
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}
>>> for name, phone in table.items():
... print('{0:10}==>{1:10d}'.format(name, phone))
...
Sjoerd ==> 4127
Jack ==> 4098
Dcab ==> 7678
在花括號中,0表示選擇的位置參數(shù),分號只是起到一個分隔作用,用來把兩個數(shù)字分開。后面的10表示占位大小,相當(dāng)于這個花括號在實(shí)際輸出中,要占據(jù)10個小格,如果數(shù)字沒有那么多位,就用0補(bǔ)充。
分號后面的這個不止可以是數(shù)字,也可以是類型。比如d或f,一個代表整數(shù),一個代表分?jǐn)?shù)。
比如:代表10位寬的整數(shù)。
print('{0:10} ==> {1:10d}'.format(123, 2345))
像這樣的小細(xì)節(jié)還有很多,大家以后可以自行學(xué)習(xí)。
不過目前只要知道這么多就夠了。
知識點(diǎn)(二)
另一種格式化字符串的方式是從c語言遺傳下來的,如果懂c語言的同學(xué),估計(jì)一下就能看懂的。但我們在實(shí)際應(yīng)用中,更推行使用format()方法。它可以更好的實(shí)現(xiàn)你的想法。
我們下面來看例子:
>>> import math
>>> print('The value of PI is approximately %5.3f.' % math.pi)
The value of PI is approximately 3.142.
導(dǎo)入math模塊,調(diào)用math.pi,可以得到圓周率的近似值:3.141592653589793。
用print函數(shù)打印字符串。
- %代表占位符;
- 5表示占位的格數(shù),也就是寬度;如果寬度不夠,用0補(bǔ)充。
- .3(點(diǎn)三)表示三位小數(shù);如果位數(shù)不夠,用0補(bǔ)充。
- f表示這是一個有小數(shù)點(diǎn)小數(shù)。
- 第二個%表示接下來的數(shù)字就是用來替換前面那個%的值
- math.pi 用來替換的值。
其實(shí)就是相對于:%math.pi替換了%5.3f
不過%5.3f寫明了替換后需要遵守的規(guī)則。
對于知識點(diǎn)(二),只要做到知道它就可以了。因?yàn)樗旧淼囊恍┤毕荩覀儸F(xiàn)在很少用到它了。即使是在文檔中,他也被稱為:Old string formatting(舊式的字符串格式化),聽名字你就知道這方式有多不受待見了吧。。。。
格式化字符串就講解這么多~
想特高一下的同學(xué)可以閱讀如下部分的文檔:
https://docs.python.org/3/tutorial/inputoutput.html
了解一下str( )、repr( )、rjust( )方法等。
一定要好好學(xué)習(xí)format( )方法喲~