python格式化字符串有%和{}兩種 字符串格式控制符.
字符串輸入數(shù)據(jù)格式類型(%格式操作符號)
| %% | 百分號標記#就是輸出一個% |
| %c | 字符及其ASCII碼 |
| %s | 字符串 |
| %d | 有符號整數(shù)(十進制) |
| %u | 無符號整數(shù)(十進制) |
| %o | 無符號整數(shù)(八進制) |
| %x | 無符號整數(shù)(十六進制) |
| %X | 無符號整數(shù)(十六進制大寫字符) |
| %e | 浮點數(shù)字(科學計數(shù)法) |
| %E | 浮點數(shù)字(科學計數(shù)法,用E代替e) |
| %f | 浮點數(shù)字(用小數(shù)點符號) |
| %g | 浮點數(shù)字(根據(jù)值的大小采用%e或%f) |
| %G | 浮點數(shù)字(類似于%g) |
| %p | 指針(用十六進制打印值的內(nèi)存地址) |
| %n | 存儲輸出字符的數(shù)量放進參數(shù)列表的下一個變量中 |
字符串格式控制%[(name)][flag][width][.][precision]type
name:可為空,數(shù)字(占位),命名(傳遞參數(shù)名,不能以數(shù)字開頭)以字典格式映射格式化,其為鍵名
flag:標記格式限定符號,包含+-#和0,+表示右對齊(會顯示正負號),-左對齊,前面默認為填充空格(即默認右對齊),0表示填充0,#表示八進制時前面補充0,16進制數(shù)填充0x,二進制填充0b
width:寬度(最短長度,包含小數(shù)點,小于width時會填充)
precision:小數(shù)點后的位數(shù),與C相同
type:輸入格式類型,請看上面
還有一種format_spec格式{[name][:][[fill]align][sign][#][0][width][,][.precision][type]}
用{}包裹name命名傳遞給format以命名=值 寫法,非字典映射,其他和上面相同
fill = <any character> #fill是表示可以填寫任何字符
align = "<" | ">" | "=" | "^" #align是對齊方式,<是左對齊, >是右對齊,^是居中對齊。
sign = "+" | "-" | " " #sign是符號, +表示正號, -表示負號
width = integer #width是數(shù)字寬度,表示總共輸出多少位數(shù)字
precision = integer #precision是小數(shù)保留位數(shù)
type = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%" #type是輸出數(shù)字值是的表示方式,比如b是二進制表示;比如E是指數(shù)表示;比如X是十六進制表示
例子(本機測試運行環(huán)境:Python3.6)
>>> print("{:,}".format(123456))#輸出1234,56123,456>>> print("{a:w^8}".format(a="8"))#輸出www8wwww,填充wwww8wwww>>> print("%.5f" %5)#輸出5.0000005.00000>>> print("%-7s3" %("python"))#輸出python 3python 3>>> print("%.3e" %2016)#輸出2.016e+03,也可以寫大E2.016e+03>>> print("%d %s" %(123456,"jb51"))#輸出123456 jb51123456 jb51>>> print("%(what)s is %(year)d" % {"what":"this year","year":2016})#輸出this year is 2016this year is 2016>>> print("{0}{1}".format("hello","fun"))#輸出hellofun,這與CSharp的格式化字符(占位符)相似hellofun>>> print("{}{}{}".format("jb51",".","net"))#輸出vevb.comvevb.com>>> print("{a[0]}{a[1]}{a[2]}".format(a=["jb51",".","net"]))#輸出vevb.comvevb.com>>> print("{dict[host]}{dict[dot]}{dict[domain]}".format(dict={"host":"www","domain":"vevb.com","dot":"."}))#輸出m.survivalescaperooms.comm.survivalescaperooms.com>>> print("{a}{b}".format(a="python",b="3"))#輸出python3python3>>> print("{who} {doing} {0}".format("python",doing="like",who="I"))#輸出I like pythonI like python>>> 另:關(guān)于Python format函數(shù)格式化輸出操作可參考前面一篇Python字符串基本操作
新聞熱點
疑難解答
圖片精選