1.通過位置 'a1 = first a2= second a3= third' 'a1 = second a2= first a3= third' 註意如果{}要帶參數,可以將format看成一個函數輸入的值是函數的參數,這些輸入的值可以看成一個元組,{0} == tuple[0] 同樣他們也不能 ...
1.通過位置
'a1 = {} a2= {} a3= {}'.format('first','second','third') #{}不帶參數
'a1 = first a2= second a3= third'
'a1 = {1} a2= {0} a3= {2}'.format('first','second','third') #{}帶位置參數的
'a1 = second a2= first a3= third'
註意如果{}要帶參數,可以將format看成一個函數輸入的值是函數的參數,這些輸入的值可以看成一個元組,{0} == tuple[0] 同樣他們也不能越界
2.通過關鍵字參數
'your name is {name} , age is {age}'.format(name='jack',age=87)
'your name is jack , age is 87'
'your name is {name} , age is {age}'.format(age=87,name='jack') #同樣和位置無關
'your name is jack , age is 87'
3.通過對象屬性
class Person:
def __init__(self,name,age):
self.name = name
self.age = age
p = Person('Tom',18)
'name = {p.name} age = {p.age}'.format(p=p)
'name = Tom age = 18'
4.通過下標
s1 = [1,'23','tom']
s2 = ['s2.1','s2.2','s2.3']
'{0[1]} {0[2]} {1[2]} {1[0]}'.format(s1,s2)
'23 tom s2.3 s2.1'
5.格式化輸出(重點)
格式限定符
語法是{}中帶:號)
{:對齊方式 填充}
填充與對齊
填充常跟對齊一起使用
^、<、>分別是居中、左對齊、右對齊,後面帶寬度
:號後面帶填充的字元,只能是一個字元,不指定的話預設是用空格填充
5.1對齊與填充
'輸出左對齊定長為10位 [{:<10}]'.format('12') #預設填充空格的
'輸出左對齊定長為10位 [12 ]'
'輸出右對齊定長為10位 [{:>10}]'.format('12') #預設填充空格的
'輸出右對齊定長為10位 [ 12]'
'輸出右對齊定長為10位 [{:0>10}]'.format('12') #修改填充,填充只能是一個ASCII字元
'輸出右對齊定長為10位 [0000000012]'
'輸出居中對齊定長為10位,填充x [{:x^10}]'.format('12') #修改填充,填充只能是一個ASCII字元
'輸出居中對齊定長為10位,填充x [xxxx12xxxx]'
5.2浮點小數輸出
'{:.2f}'.format(1233442.23453) #通常都是配合 f 使用,其中.2表示長度為2的精度,f表示float類型
'1233442.23'
'{:,}'.format(9987733498273.0432) #使用逗號金額分割符
'9,987,733,498,273.043'
5.3進位及其他顯示
b : 二進位
d :十進位
o :八進位
x :十六進位
!s :將對象格式化轉換成字元串
!a :將對象格式化轉換成ASCII
!r :將對象格式化轉換成repr
'10 二進位 :{:b}'.format(10)
'10 二進位 :1010'
'10 十進位 :{:d}'.format(10)
'10 十進位 :10'
'10 八進位 :{:o}'.format(10)
'10 八進位 :12'
'10 十六進位 :{:x}'.format(10)
'10 十六進位 :a'
'{!s}'.format(10) #格式化轉換
'10'
'{!a}'.format('1000') #格式化轉換
"'1000'"
'{!r}'.format('1000') #格式化轉換
"'1000'"