iT邦幫忙

2021 iThome 鐵人賽

DAY 5
1
Software Development

宇宙 69 大魔王的 python 世界系列 第 5

【Day 05】format 函式

str.format 是在 python 中常用的字串格式化招式,可以控制想要顯示的資料型態、正負號、小數點位數等等,今天會介紹其中一部分!

.format()

常常搭配 print 使用,語法由 " { } ".format(value) 組成,value 可以包括整數、浮點數、字串等等

print("{} and b ".format('a'))    #value 為 str
>>> 'a and b '
print("{} and 2 ".format(1))    #value 為 int
>>> '1 and 2 '
print("{} and 2.71828 ".format(3.1415926))    #value 為 float
>>> '3.1415926 and 2.71828 '

兩個以上的 { } 就有順序之分了!

print("{} {}".format("hello", "python"))    #不設定位置,輸出按照順序
>>> 'hello python'

print("{0} {1}".format("hello", "python"))    #設定第一個括號放 0 --> hello
>>> 'hello python'

print("{1} {0}".format("hello", "python"))    #設定位置跟後面相反,所以先輸出 python
>>> 'python hello'

print("{0} {1} {1}".format("hello", "python"))
>>> 'hello python python'
  • 搭配變數使用
x = 'happy'
print('{}'.format(x))
>>> 'happy'
  • 宣告字串時就加上 { }
y = 'I am {}, Hello {}.'
print(y.format('a', 'b'))
>>> 'I am a, Hello b.'
  • { } 內也可以放變數名稱
print("I'm fine {0} {zz} {1} you?".format('thank', 'and', zz = 'you'))
>>> "I'm fine thank you and you?"
  • { } 內也可以決定資料型態
語法 功能
:s 以 str 的形式輸出文字
:f 以浮點數形式輸出數字
:d 以十進位形式輸出數字
:b 以二進位形式輸出數字
:o 以八進位形式輸出數字
:x, :X 以十六進位形式輸出數字
:e, :E 以科學記號形式輸出數字
:% 以百分比形式輸出數字
:c 以字元形式輸出(ASCII)
print('{:s}'.format('64'))    #若為:s 則後面不能放數字要放 str 喔!
>>> '64'
print('{:f}'.format(64))
>>> 64.000000

print('{:d}'.format(64))
>>> 64

print('{:b}'.format(64))
>>> 1000000

print('{:o}'.format(64))
>>> 100

print('{:x}'.format(64))
>>> 40

print('{:e}'.format(1500000))
>>> 1.500000e+06

print('{:%}'.format(0.69))
>>> 69.000000%

print('{:c}'.format(65))
>>> 'A'
  • 控制位數
print('{:.3s}'.format('happy'))    # .3 代表指顯示 3 個文字
>>> 'hap'
print('{:.2f}'.format(3.1415926))    # .2f 代表小數點後兩位
>>> 3.14
print('{:07.3f}'.format(3.1415926))    #限制總共 7 位元,小數點後 3 位所以前面補兩個 0
>>> 003.142
print('{:.2%}'.format(0.141526))
>>> 14.15%
print('{:.2%}'.format(0.1415926))    #這裡是四捨五入喔!
>>> 14.16%
  • 正負號
#顯示正負號
print('{:+.2f} {:+.2f}'.format(6.9, -6.9))  
>>> +6.90 -6.90
#負號顯示,正數留空白
print('{: d} {: d}'.format(6, -9))
>>> ( 6) (-9)
  • 對齊
#限制長度 10
print('{:10}'.format('happy'))
>>> 'happy     '
#置右
print('{:>10}'.format('happy'))
>>> '     happy' 
#置左
print('{:<10}'.format('happy'))
>>> 'happy     '
#陳置中
print('{:^10}'.format('happy'))
>>> '  happy   '

待續...


上一篇
【Day 04】String Methods
下一篇
【Day 06】Python 資料容器簡介與建立 tuple
系列文
宇宙 69 大魔王的 python 世界30

尚未有邦友留言

立即登入留言