從python2.6開始,新增了一種格式化字串的函式str.format()
,它增強了字串格式化的功能。
基本語法是通過{}
和:
來代替以前的%
。
format
方法可以接受無限個引數,位置可以不按順序。
不指定format
方法的關鍵字引數
>>
>
"{} {}"
.format
('hello'
,'world'
)# 不設定指定位置,按預設順序
'hello world'
>>
>
" ".
format
("hello"
,"world"
)# 設定指定位置
'hello world'
>>
>
" "
.format
("hello"
,"world"
)# 設定指定位置
'world hello world'
指定format
方法的關鍵字引數
>>
>
print
("name: , age: "
.format
(name=
'bob'
, age=22)
)name: bob, age:
22
通過字典設定引數
employee =
print
("name: , age: "
.format
(**employee)
)
輸出為:
name: bob, age: 22通過列表索引設定引數
employee =
['bob',22
]print
("name: , age: "
.format
(employee)
)
輸出為:
name: bob, age: 22通過物件設定引數
class
employee
(object):
def__init__
(self, name, age)
: self.name = name
self.age = age
employee = employee(
'bob'
,'22'
)print
("name: , age: "
.format
(employee)
)
輸出為:
name: bob, age: 22
數字格式
輸出描述
3.1415926
3.14
保留小數點後兩位
3.1415926
+3.14
帶符號保留小數點後兩位
-1-1.00
帶符號保留小數點後兩位
2.71828
3不帶小數505
寬度為2,填充字元為0,填充左邊
55***
寬度為4,填充字元為x,填充右邊
1010xx
寬度為4,填充字元為x,填充右邊
1000000
1,000,000
以逗號分隔的數字格式
0.25
25.00%
百分比格式
1000000000
1.00e+09
指數記法
1328723840
1.329e+09
指數記法
13******xx13
右對齊(預設對齊方式)(寬度為10,填充字元為x)
1313
左對齊,寬度為10,預設填充字元為空格
13***x13***x
中間對齊,寬度為10,填充字元為x
255255.000000
轉為浮點數,預設保留小數點後6位
25511111111
轉為二進位制
255377
轉為八進位制,寬度為10,填充字元為空格
255ff
轉為十六進製制
2550xff
轉為十六進製制
2550xff
轉為十六進製制
0b11111111
255轉為十進位制
熟悉了數字的格式化輸出,那麼字串的格式化輸出就比較簡單了,兩者沒有太多區別,只需要用s
標記替換f
、d
、o
、x
、b
標記即可
>>
> name =
'bob'
>>
>
# 寬度為10,左對齊,填充字元為預設的填充字元空格
>>
>"".
format
(name)
'bob '
>>
>
# 寬度為10,右對齊,填充字元為x
>>
>"".
format
(name)
'******xbob'
>>
>
# 寬度為10,中間對齊,填充字元為x
>>
>"".
format
(name)
'***bob***x'
python中format 方法的使用
在python3中,字串格式化操作通過format 方法,format 方法擁有更多的功能,操作起來更加方便。該函式將字串當成乙個模板,通過傳入的引數進行格式化,並且使用大括號 作為特殊字元代替 不指定位置的時候,使用預設位置 不指定格式化位置,按照預設順序格式化 s i and i am lear...
Python 基礎 format 格式化方法
format 方法可以格式化字串,基本語法是通過 和 來代替之前的字元。format 有多個輸出項,位置可以按指定順序設定。print 我是 班 號的學生 format 化工2001 3 我是化工2001班3號的學生 按照預設順序填入 print 我是班號的學生 format 3 化工2001 我是...
python中format的用法
格式化輸出format python學習筆記 用format函式實現對齊列印 居中對齊 靠左對齊 靠右對齊 居中對齊示例 def show n tail 2 n 1 最底下一行顯示出 2 n 1 個星號 width len tail 計算星號所在行的寬度,作為其他行的對齊基準 for i in ra...