當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python format()用法及代碼示例


在本教程中,我們將借助示例了解 Python format() 函數。

format() 方法返回由格式說明符控製的給定值的格式化表示。

示例

value = 45

# format the integer to binary
binary_value = format(value, 'b')
print(binary_value)

# Output: 101101

format() 語法

它的語法是:

format(value[, format_spec])

參數:

format() 函數有兩個參數:

  • value- 需要格式化的值
  • format_spec- 值應如何格式化的規範。

格式說明符可以是以下格式:

[[fill]align][sign][#][0][width][,][.precision][type]
where, the options are
fill        ::=  any character
align       ::=  "<" | ">" | "=" | "^"
sign        ::=  "+" | "-" | " "
width       ::=  integer
precision   ::=  integer
type        ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

訪問這些鏈接以了解有關 format typesalignment 的更多信息。

返回:

format() 函數返回由格式說明符指定的給定值的格式化表示。

示例 1:使用 format() 的數字格式

# d, f and b are type

# integer
print(format(123, "d"))

# float arguments
print(format(123.4567898, "f"))

# binary format
print(format(12, "b"))

輸出

123
123.456790
1100

示例 2:帶有填充、對齊、符號、寬度、精度和類型的數字格式

# integer 
print(format(1234, "*>+7,d"))

# float number
print(format(123.4567, "^-09.3f"))

輸出

*+1,234
0123.4570

在這裏,當格式化整數 1234 時,我們指定了格式化說明符 *>+7,d 。讓我們了解每個選項:

  • * - 格式化後填充空格的填充字符
  • > - 右對齊選項,將輸出字符串右對齊
  • + - 這是強製數字簽名的符號選項(左側有一個符號)
  • 7 - 寬度選項強製數字的最小寬度為 7,其他空格將由填充字符填充
  • , - 千位運算符在所有千位之間放置逗號。
  • d - 指定數字是整數的類型選項。

在格式化浮點數 123.4567 時,我們指定了格式說明符 ^-09.3f 。這些是:

  • ^ - 將輸出字符串與剩餘空間的中心對齊的中心對齊選項
  • - - 這是強製僅負數顯示符號的符號選項
  • 0 - 它是放置在空格位置的字符。
  • 9 - 設置數字最小寬度為9的寬度選項(包括小數點、千位逗號和符號)
  • .3 - 將給定浮點數的精度設置為 3 位的精度運算符
  • f - 這是指定數字是浮點數的類型選項。

示例 3:通過覆蓋 __format__() 來使用 format()

# custom __format__() method
class Person:
    def __format__(self, format):
        if(format == 'age'):
            return '23'
        return 'None'

print(format(Person(), "age"))

輸出

23

在這裏,我們重寫了類 Person__format__() 方法。

它現在接受 format 參數,如果等於 'age' 則返回 23。如果未指定格式,則返回None

format() 函數在內部運行 Person().__format__("age") 以返回 23。

內置format() 對比。字符串format()

format() 函數類似於String format 方法。在內部,這兩種方法都調用對象的__format__() 方法。

雖然內置的format() 函數是在內部使用__format__() 格式化對象的低級實現,但字符串format() 是能夠對多個對象字符串執行複雜格式化操作的高級實現。

相關用法


注:本文由純淨天空篩選整理自 Python format()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。