print:%格式化輸出
print是一個常用函數(shù),其功能就是輸出括號中得字符串装蓬。
在下面例子中("His name is %s"%("Aviad"))有兩個%,第一個%s表示先在"His name is %s"中占個位置柳琢,而后面的"Aviad"才是真正%s位置上要顯示的內(nèi)容凡恍,也就是說 %("Aviad") 這個表達(dá)式是要告訴前面的%s山林,它要顯示的內(nèi)容在 %() 這里面房待。(參考c++中的輸入輸出)
注意相應(yīng)的%_與后面要輸出內(nèi)容類型的匹配。
%d對數(shù)字(123)驼抹,%f對浮點(diǎn)數(shù)(5.203)桑孩,等等……不然輸入輸出的類型有時會自動轉(zhuǎn)換。
>>> print ("His %s is %s"%('name',"Anna")) #這里%s是要替字符串占位置
His name is Anna
>>> print ("He is %d years old"%(25)) #這里%d是替整數(shù)占位置
He is 25 years old
>>> print ("His height is %f m"%(1.83)) #這里%f表示替浮點(diǎn)數(shù)占位置
His height is 1.830000 m
>>> print ("His height is %.2f m"%(1.83)) #這里%.2f表示浮點(diǎn)數(shù)占位置框冀,表示只顯示小數(shù)點(diǎn)后兩位數(shù)字流椒,也就是指定了保留小數(shù)點(diǎn)位數(shù)
His height is 1.83 m
- 具體細(xì)節(jié)
指定占位符寬度:總共要留下多長的位置輸出(包含空格、小數(shù)點(diǎn)和輸出內(nèi)容)明也。
如果是正整數(shù)就是右對齊(左邊是空格)宣虾,是負(fù)整數(shù)就是左對齊(右邊是空格)。
>>> print ("Name:%10s Age:%8d Height:%8.2f"%("Aviad",25,1.83)) #右對齊
Name: Aviad Age: 25 Height: 1.83
>>> print ("Name:%-10s Age:%-8d Height:%-8.2f"%("Aviad",25,1.83)) #左對齊
Name:Aviad Age:25 Height:1.83
指定占位符(只能用0當(dāng)占位符诡右,不然對被認(rèn)為是寬度而失效):在寬度面前加0安岂。
>>> print ("Name:%-10s Age:%08d Height:%08.2f"%("Aviad",25,1.83))
Name:Aviad Age:00000025 Height:00001.83
- print后跟多個輸出
用‘+’號時,中間是無間隔的帆吻,要手動加上。
用‘,’時就不需要空格咙边,逗號會自動轉(zhuǎn)化為空格猜煮,注意前后輸出格式要相同。
若要將多個結(jié)果打印在一行败许,可以在print最后添加end=','王带,注意一定是要在語句的最后。
>>> name='abc'
>>> a=10
>>> print(name+' is '+str(a-7)+' word')
abc is 3 word
>>> print(name,'is',str(a+7),'word')
abc is 17 word
>>> print(name,end=' ')
>>> print('is',end=' ')
>>> print(a+10,end=' ')
>>> print('word',end=' ')
abc is 20 word
input
變量= input("想要輸入的內(nèi)容: ")
input函數(shù)將用戶輸入的內(nèi)容作為字符串形式返回,就算你輸入的是數(shù)字市殷,但這個返回的“數(shù)字”的類型是字符型愕撰。
但如果要想獲取其他類型,那么可以使用轉(zhuǎn)換函數(shù)將字符轉(zhuǎn)化為其他類型(注意輸入與想要的輸出類型得保持一致)醋寝。
format格式化輸出
字符變量名.format() 或 '{1},{2}.{3}…'.format(內(nèi)容1,內(nèi)容2,…)
生成對象為字符型搞挣。它與之前的%型格式化字符串相比,它通過{}和.來代替%音羞,format()函數(shù)中的‘,’可以使用其他的分隔符號囱桨。
- 一般使用
{}中的數(shù)字表示的是輸出時的位置索引。若為空就默認(rèn)按照0嗅绰、1舍肠、2搀继、3的順序進(jìn)行輸出;若為有多個位置索引翠语,有重復(fù)的就重復(fù)叽躯,沒重復(fù)的就出錯。
() 中的內(nèi)容表示相應(yīng)位置(不是位置索引肌括,而是{}中的前后順序)的輸出內(nèi)容点骑。
>>> '{1},{0}'.format('Anna',19)
'19,Anna'
>>> '{},{}'.format('Anna',19)
'Anna,19'
>>> '{1},{0},{1}'.format('Anna',19)
'19,Anna,19'
- 使用關(guān)鍵字參數(shù):
前面的給出關(guān)鍵字,后面的()給出相應(yīng)關(guān)鍵字的參數(shù)们童。
>>> '{name},{age}'.format(age=19,name='Anna')
'Anna,19'
- 使用索引下標(biāo)
分別將format()函數(shù)中的變量看成是整體1畔况、整體2……使用序列索引相似的引用法則。
>>> p=['Anna',19]
>>> q=['Bob',20]
>>> '{0[0]},{0[1]}{1[1]},{1[0]}'.format(p,q) #注意這里的第二三項(xiàng)之間沒有逗號
'Anna,1920,Bob
- 格式限定符:
{}中必須要帶‘:’慧库,比如:填充與對齊跷跪,填充常跟對齊一起使用:
‘^’、‘<’齐板、‘>’ 分別是居中吵瞻、左對齊、右對齊甘磨,后面帶寬度橡羞。
‘:’ 后面帶填充的字符,填充的字符只能填一個济舆,默認(rèn)使用空格填充卿泽。
>>> '{:>8}'.format('189') #默認(rèn)是空格來占位,要顯示的內(nèi)容靠右對齊
' 189'
>>> '{:0>8}'.format('189') #用0來占位
'00000189'
>>> '{:a<8}'.format('189') #用字母a來占位滋觉,要顯示的內(nèi)容靠左對齊
'189aaaaa'
>>> '{:*^7}'.format('189') #用*來占位签夭,共顯示7位,要顯示內(nèi)容居中
'**189**'
其中的精度與類型調(diào)整
f前的數(shù)字表示精度為小數(shù)點(diǎn)后幾位椎侠。與C++不同的是它會遵循四舍五入第租。
>>> '{:.2f}'.format(321.33345) #保留兩位有效數(shù)字
'321.33'