python格式化字符_Python格式化字符串
一、通過%來格式化輸出。
格式化字符串時,Python使用一個字符串作為模板。模板中有格式符,這些格式符為真實值預留位置,并說明真實數值應該呈現的格式。Python用一個tuple將多個值傳遞給模板,每個值對應一個格式符。
#普通傳值方法
print(‘name:%s,age:%d‘ %(‘mzc‘,20))
輸出:name:mzc,age:20#使用dict進行傳值
print(‘my name is %(name)s,age %(age)d‘ %{‘name‘:‘jerry‘,‘age‘:20})
輸出:my name is jerry,age 20
打印浮點數、以及選擇保留小數位數
保留的小數位數由輸出控制符決定%.xf x為保留位數
#浮點數不更改打印
print(‘width is %f‘ %1.337)
輸出:width is 1.337000#選擇保留的小數位數
print(‘width is %.2f‘ %1.345)
輸出:width is 1.34
指定占位符寬度:
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當占位符?)
print ("Name:%-10s Age:%08d Height:%08.2f"%("Aviad",25,1.83))
輸出效果:Name:Aviad Age:00000025 Height:00001.83
科學計數法
format(0.0015,‘.2e‘)
輸出效果:‘1.50e-03‘
格式符
格式符為真實值預留位置,并控制顯示的格式。格式符可以包含有一個類型碼,用以控制顯示的類型,如下:
%s 字符串 (采用str()的顯示)
%r 字符串 (采用repr()的顯示)
%c 單個字符
%b 二進制整數
%d 十進制整數
%i 十進制整數
%o 八進制整數
%x 十六進制整數
%e 指數 (基底寫為e)
%E 指數 (基底寫為E)
%f 浮點數
%F 浮點數,與上相同
%g 指數(e)或浮點數 (根據顯示長度)
%G 指數(E)或浮點數 (根據顯示長度)
%% 字符"%"
Python中內置的%操作符可用于格式化字符串操作,控制字符串的呈現格式。Python中還有其他的格式化字符串的方式,但%操作符的使用是最方便的。
另外python還有一個更強大的字符串處理函數 str.format()
語法
它通過{}和:來代替%。
format輸出控制是一種映射關系。
1、通過位置
print(‘{0},{1}‘.format(‘kzc‘,18))輸出:‘kzc,18‘print(‘{},{}‘.format(‘kzc‘,18))輸出: ‘kzc,18‘print(‘{1},{0},{1}‘.format(‘kzc‘,18))輸出:‘18,kzc,18‘
2、通過關鍵字
print(‘{name},{age}‘.format(age=18,name=‘kzc‘))輸出:‘kzc,18‘
3、通過對象屬性
classPerson:def __init__(self,name,age):
self.name,self.age=name,agedef __str__(self):return ‘This guy is {self.name},is {self.age} old‘.format(self=self)
str(Person(‘kzc‘,18))
輸出結果:‘This guy is kzc,is 18 old‘
4、通過下標
p=[‘kzc‘,18]print(‘{0[0]},{0[1]}‘.format(p))輸出結果:‘kzc,18‘
有了這些便捷的“映射”方式,我們就有了偷懶利器。基本的python知識告訴我們,list和tuple可以通過“打散”成普通參數給函數,而dict可以打散成關鍵字參數給函數(通過和*)。所以可以輕松的傳個list/tuple/dict給format函數。非常靈活。
print(‘my pet name is {student[0]}‘.format(student=stu_list))
my pet nameistomprint(‘my pet {d[tom]} years old‘.format(d=age_dict))
my pet2 years old
格式限定符
它有著豐富的的“格式限定符”(語法是{}中帶:號),比如:
填充與對齊填充常跟對齊一起使用
^、分別是居中、左對齊、右對齊,后面帶寬度
:號后面帶填充的字符,只能是一個字符,不指定的話默認是用空格填充
比如
print(‘{:>8}‘.format(‘189‘))輸出: ‘189‘print(‘{:0>8}‘.format(‘189‘))輸出: ‘00000189‘print(‘{:a>8}‘.format(‘189‘))輸出: ‘aaaaa189‘
精度與類型f精度常跟類型f一起使用
priint(‘{:.2f}‘.format(321.33345))輸出: ‘321.33‘
其他類型主要就是進制了,b、d、o、x分別是二進制、十進制、八進制、十六進制。
print(‘{:b}‘.format(17))輸出: ‘10001‘print(‘{:d}‘.format(17))輸出: ‘17‘print‘{:o}‘.format(17)輸出: ‘21‘print(‘{:x}‘.format(17))輸出: ‘11‘
用,號還能用來做金額的千位分隔符。
print(‘{:,}‘.format(1234567890))輸出: ‘1,234,567,890‘
內容有一些做了修改,文章出處:http://www.jb51.net/article/108193.htm
總結
以上是生活随笔為你收集整理的python格式化字符_Python格式化字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python学习测试题1及参考答案
- 下一篇: python3 urllib 内存泄露_