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函數。