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 '
待續...