Python format 格式化函式

2021-10-06 23:28:22 字數 1994 閱讀 7275

python2.6 開始,新增了一種格式化字串的函式 str.format(),它增強了字串格式化的功能。

基本語法是通過 {} 和 : 來代替以前的 % 。

format 函式可以接受不限個引數,位置可以不按順序。

>>>"{} {}".format("hello", "world") # 不設定指定位置,按預設順序 'hello world' >>> " ".format("hello", "world") # 設定指定位置 'hello world' >>> " ".format("hello", "world") # 設定指定位置 'world hello world'

也可以設定引數:

#!/usr/bin/python # -*- coding: utf-8 -*- print("**名:, 位址 ".format(name="菜鳥教程", url="www.runoob.com")) # 通過字典設定引數 site = print("**名:, 位址 ".format(**site)) # 通過列表索引設定引數 my_list = ['菜鳥教程', 'www.runoob.com'] print("**名:, 位址 ".format(my_list)) # "0" 是必須的

輸出結果為:

也可以向 str.format() 傳入物件:

#!/usr/bin/python # -*- coding: utf-8 -*- class assignvalue(object): def __init__(self, value): self.value = value my_value = assignvalue(6) print('value 為: '.format(my_value)) # "0" 是可選的

輸出結果為:

value 為: 6
下表展示了 str.format() 格式化數字的多種方法:

>>> print("".format(3.1415926));

3.14

數字

格式輸出

描述3.1415926

3.14

保留小數點後兩位

3.1415926

+3.14

帶符號保留小數點後兩位

-1-1.00

帶符號保留小數點後兩位

2.71828

3不帶小數505

數字補零 (填充左邊, 寬度為2)

55***

數字補x (填充右邊, 寬度為4)

1010xx

數字補x (填充右邊, 寬度為4)

1000000

1,000,000

以逗號分隔的數字格式

0.25

25.00%

百分比格式

1000000000

1.00e+09

指數記法

1313

右對齊 (預設, 寬度為10)

1313

左對齊 (寬度為10)

1313

中間對齊 (寬度為10)

11

''.format(11)

''.format(11)

''.format(11)

''.format(11)

''.format(11)

''.format(11)

1011

1113

b0xb

0xb

進製

^, <, > 分別是居中、左對齊、右對齊,後面帶寬度, : 號後面帶填充的字元,只能是乙個字元,不指定則預設是用空格填充。

+ 表示在正數前顯示 +,負數前顯示 -;  (空格)表示在正數前加空格

b、d、o、x 分別是二進位制、十進位制、八進位制、十六進製制。

此外我們可以使用大括號 {} 來轉義大括號,如下例項:

#!/usr/bin/python # -*- coding: utf-8 -*- print ("{} 對應的位置是 }".format("runoob"))

輸出結果為:

runoob 對應的位置是

Python format 格式化函式

數字 格式輸出 描述3.1415926 3.14 保留小數點後兩位 3.1415926 3.14 帶符號保留小數點後兩位 1 1.00 帶符號保留小數點後兩位 2.71828 3不帶小數505 數字補零 填充左邊,寬度為2 55 數字補x 填充右邊,寬度為4 1010xx 數字補x 填充右邊,寬度為...

Python format 格式化函式

python2.6 開始,新增了一種格式化字串的函式 str.format 它增強了字串格式化的功能。基本語法是通過 和 來代替以前的 format 函式可以接受不限個引數,位置可以不按順序。不設定指定位置,按預設順序 print format hello world 設定指定位置 print fo...

Python format 格式化函式

python2.6 開始,新增了一種格式化字串的函式 str.format 它增強了字串格式化的功能。栗子 name 雷歐 age 28 add m78星雲 print 你好,我叫 我來自 今年 歲.format name,add,age print 你好,我叫 name 我來自 add 今年 ag...