- 本教程為python3文檔解讀
- 本教程面向完全型小白移必,只要你會在電腦上打字,那你就可以看懂毡鉴。
- 參考視頻觀看崔泵,味道更加:https://space.bilibili.com/186584185/#!/video
- 建議優(yōu)先閱讀本系列的《編程的本質(zhì)》這一章節(jié)。
- 推薦閱讀:《跟我讀python3文檔:016_帶你手撕程序猪瞬,展現(xiàn)一個函數(shù)如何從思路到實現(xiàn)》
作者:咖喱py
貫穿始終的理念:別廢話憎瘸,就是干!
往期回顧:
- 匿名函數(shù)lambda
- 列表推導式
- 數(shù)據(jù)結(jié)構(gòu)
- 模塊
文檔解讀
python3文檔第七小節(jié)鏈接地址:7. Input and Output
本章主要講解7.1. Fancier Output Formatting(格式化輸出)這個小節(jié)
我一直覺得格式化輸出這個翻譯不是很理想陈瘦,容易讓我們誤解為格硬盤幌甘。。痊项。
如果翻譯為:樣式化锅风、模版化,也許會好理解一些鞍泉。
但這里我們跟隨主流翻譯皱埠,依舊用格式化輸出這個翻譯恩沛。
其實格式化輸出基本知識點只有兩處仔戈,其他的都是一些細節(jié)問題臣樱。這些細節(jié)會和我們之前學習的知識點有所雷同筛严,所以, 基本上看一下就知道是怎么回事兒了忘巧。
知識點(一)
我們直接舉例說明:
>>> print( '{}愛吃{}恒界。'.format('咖喱py', '咖喱'))
咖喱py愛吃咖喱。
看明白發(fā)生了什么嗎袋坑?
format( )方法中的兩個字符串參數(shù)被傳入了print( )函數(shù)要打印的字符串中仗处,替代了里面的花括號。
結(jié)構(gòu)分析:
- print( )函數(shù)
- 用來輸出的字符串
用引號括起來的部分是字符串 - 花括號
用來占位枣宫,這有點像我們小學時的填空題,不過括號換成了花括號而已吃环。 - format( )方法
它是字符串的方法也颤,和其他數(shù)據(jù)類型的方法調(diào)用一樣,用點連接郁轻。 - 字符串參數(shù)
format( )方法的參數(shù)
其他細節(jié):
format( )方法有很多細節(jié)需要學習翅娶。
比如:
>>> 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ù)來替換花括號竭沫。
還有一個小細節(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表示占位大小靶端,相當于這個花括號在實際輸出中谎势,要占據(jù)10個小格,如果數(shù)字沒有那么多位杨名,就用0補充脏榆。
分號后面的這個不止可以是數(shù)字,也可以是類型台谍。比如d或f须喂,一個代表整數(shù),一個代表分數(shù)趁蕊。
比如:代表10位寬的整數(shù)坞生。
print('{0:10} ==> {1:10d}'.format(123, 2345))
像這樣的小細節(jié)還有很多,大家以后可以自行學習介衔。
不過目前只要知道這么多就夠了恨胚。
知識點(二)
另一種格式化字符串的方式是從c語言遺傳下來的,如果懂c語言的同學炎咖,估計一下就能看懂的赃泡。但我們在實際應(yīng)用中寒波,更推行使用format()方法。它可以更好的實現(xiàn)你的想法升熊。
我們下面來看例子:
>>> import math
>>> print('The value of PI is approximately %5.3f.' % math.pi)
The value of PI is approximately 3.142.
導入math模塊俄烁,調(diào)用math.pi,可以得到圓周率的近似值:3.141592653589793级野。
用print函數(shù)打印字符串页屠。
- %代表占位符;
- 5表示占位的格數(shù)蓖柔,也就是寬度辰企;如果寬度不夠,用0補充况鸣。
- .3(點三)表示三位小數(shù)牢贸;如果位數(shù)不夠,用0補充镐捧。
- f表示這是一個有小數(shù)點小數(shù)潜索。
- 第二個%表示接下來的數(shù)字就是用來替換前面那個%的值
- math.pi 用來替換的值。
其實就是相對于:%math.pi替換了%5.3f
不過%5.3f寫明了替換后需要遵守的規(guī)則懂酱。
對于知識點(二)竹习,只要做到知道它就可以了。因為它本身的一些缺陷列牺,我們現(xiàn)在很少用到它了整陌。即使是在文檔中,他也被稱為:Old string formatting(舊式的字符串格式化)昔园,聽名字你就知道這方式有多不受待見了吧蔓榄。。默刚。甥郑。
格式化字符串就講解這么多~
想特高一下的同學可以閱讀如下部分的文檔:
https://docs.python.org/3/tutorial/inputoutput.html
了解一下str( )、repr( )荤西、rjust( )方法等澜搅。
一定要好好學習format( )方法喲~