超乎想像的format函數用法
自python2.6開始,新增了一種格式化字元串的函數str.format(),此函數可以快速處理各種字元串。
語法:字元串使用 { 0 }, { 1 }, { 2 } ….{ n } 來佔位,使用format()從左到右依次 來填充 佔位的內容,它通過{}來代替%。
請看下面的示例,基本上總結了format函數在python的中所有用法
1 #通過位置 2 print ({0},{1}.format(chuhao,20)) 3 chuhao,20 4 print ({},{}.format(chuhao,20)) 5 chuhao,20 6 print ({1},{0},{1}.format(chuhao,20)) 7 20,chuhao,20 8 #通過關鍵字參數 9 print ({name},{age}.format(age=18,name=chuhao))10 chuhao,1811 class Person:12 def __init__(self,name,age):13 self.name = name14 self.age = age15 16 def __str__(self):17 return This guy is {self.name},is {self.age} old.format(self=self)18 19 print (str(Person(chuhao,18)))20 This guy is chuhao,is 18 old21 #通過映射 list22 a_list = [chuhao,20,china]23 print (my name is {0[0]},from {0[2]},age is {0[1]}.format(a_list))24 my name is chuhao,from china,age is 2025 26 #通過映射 dict27 b_dict = {name:chuhao,age:20,province:shanxi}28 print (my name is {name}, age is {age},from {province}.format(**b_dict))29 my name is chuhao, age is 20,from shanxi30 31 #填充與對齊32 print ({:>8}.format(189))33 18934 print ({:0>8}.format(189))35 0000018936 print ({:a>8}.format(189))37 aaaaa18938 39 #精度與類型f40 #保留兩位小數41 print ({:.2f}.format(321.33345))42 321.3343 44 #用來做金額的千位分隔符45 print ({:,}.format(1234567890))46 1,234,567,89047 48 #其他類型 主要就是進位了,b、d、o、x分別是二進位、十進位、八進位、十六進位。49 50 print ({:b}.format(18)) #二進位 1001051 print ({:d}.format(18)) #十進位 1852 print ({:o}.format(18)) #八進位 2253 print ({:x}.format(18)) #十六進位12
推薦閱讀:
※winpython, anaconda 哪個更好?
※Python出現ValueError: need more than 1 value to unpack 的原因是什麼?
※Python中包、模塊詳解
※Python數據分析4——Pandas數據結構之DataFrame
※通俗 Python 設計模式——享元模式
TAG:Python |