Python-format格式化輸出函數使用方法

1.format格式化函數

format函數是Python2.6及其以後版本纔有的格式化函數。其使用{}和:來代替原來版本中的%。

2.使用方法

2.1 傳參形式

#下面這種寫法有點類似位置參數的引用方式
print("{} {}".format("hello","world"))
print("{1} {0} {1}".format("hello","world"))
print("網站名:{0[0]},網址:{0[1]},今天是{1[0]}月{1[1]}日"\
      .format(("菜鳥教程",'runoob.com'),("Nov",'16th')))

代碼運行結果如下:

​#下面有點類似關鍵字參數的引用方式
a=("菜鳥教程",'runoob.com')
print("網站名:{0},網址:{1}".format(*a))
print("網站名:{name},網址:{url}".format(name="菜鳥教程",url='runoob.com'))
a={'name':'菜鳥教程','url':'runoob.com'}
print("網站名:{0[name]},網址:{0[url]}".format(a))
print("網站名:{name},網址:{url}".format(**a))

代碼運行結果如下:

2.2 格式化輸出

格式 描述 代碼及輸出樣例
{:.2f} 保留小數點後兩位。

print('{:.2f},{:.1f}'.format(78.2323,34))

結果:78.23,34.0

{:+.2f} 帶符號保留小數點後兩位。正數前面帶+,負數前面帶-(注意當使用{:.0f}時,會對結果進行四捨五入取整,而不是單純的保留整數部分)

print('{:+.2f},{:+.0f},{:+.0f}'.format(79,-24.7,25.7))

結果:+79.00,-25,+26 

{:0<2d} 針對整數進行數字對齊。>代表右對齊左邊補0,<則相反。<>之前的元素代表填充內容。2代表原始數據+填充之後的總長度。如果數據長度>2,則原始數據原樣輸出。如果沒有0,則不進行填充

print("{:0>2d},{:d<5d}".format(402,402))

結果:402,402dd

{:^10d} 數字居中。 print('{:^10d}.'.format(300))結果:   300      .
{:,} 以逗號分割的整數形式。該格式會對整數或者float數的整數部分進行作用。

print("{:,}".format(1121111.2324))

結果:1,121,111.2324

{:.2%} 將數據轉化成百分比格式,小數點後保留2位。 print('{:.3%}'.format(0.3)) 結果:30.000%
{:.2e} 指數計數法。並且底數部分小數點後保留2位(會進行四捨五入)。 print('{:.2e}'.format(69898)) 結果:6.99e+04
{:b}

進制轉換。b\d\o\x分別代表二進制、十進制、八進制、十六進制.另外

#x和#X會在十六進制的結果前加“0x”,使用X時十六進制表示中會使用大寫字母

print("{0:o},{1:#X}".format(34,26))

結果:42,0X1A

2.3 其他

  • 如果在使用format時需要輸出{}時,需要在{}外面再加一層{}進行轉義
#如果在使用format時需要輸出{}時,需要在{}外面再加一層{}進行轉義
print('The name is {{{name}}},the url is {url}'\
      .format(name='菜鳥',url='www.runobb.com'))

結果如下:

  •  Python中還可以直接通過在字符串開頭添加f來使用format函數。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章