06.13 Python 字符串格式化 Format 函數

Python 字符串格式化 Format 函數

Python 的 str.format() 函數允許你替換字符串內的變量。

這篇文件主要講解怎麼使用字符串的格式化和變量替換。這樣寫的代碼更加清晰,容易閱讀。

使用


在一個字符串內,允許使用佔位符,然後調用 str.format() 函數,按順序提供佔位符的值,返回的字符串就是替換之後的。

一個簡單的例子:

Python 字符串格式化 Format 函數

輸出:

Python 字符串格式化 Format 函數

以上例子中,使用大括號 {} 作為佔位符,函數傳遞字符串 python,最後返回的字符串中,python替換了大括號 {}。

多個佔位符


可以使用多個佔位符,format() 函數接受的是一個可變長參數。

Python 字符串格式化 Format 函數

輸出:

Python 字符串格式化 Format 函數

指定順序


佔位符裡面可以包含一個數字,例如 {1} 代表讓第幾個參數替換,下標從0開始。

Python 字符串格式化 Format 函數

輸出:

hello php python

{0} 替換為 format() 方法的第一個參數 python。

{1} 替換為 format() 方法的第二個參數 php。

format() 函數將輸入參數轉換為元組,佔位符裡的數字視為元組的索引。

如果字符串中佔位符中的數字在元組中訪問越界,會報 IndexError 異常。

Python 字符串格式化 Format 函數

指定類型


大括號裡還可以指定參數類型,進行更多的控制。

語法格式為:

{field_name:conversion}

field_name 指定在 str.format() 函數中參數的位置。

conversion 指定數據類型編碼,單字符。例如 s 代表字符串,d 代表整數,f 代表浮點數。

Python 字符串格式化 Format 函數

下面使用浮點數,在類型編碼 f 前面還可以指定精度。

Python 字符串格式化 Format 函數

此處,field_name 省略,默認是第一個參數,f 前面是 .3 代表留三位小數,.4 留4位。

注意,如果類型指定錯誤,會拋出錯誤:ValueError。

Python 字符串格式化 Format 函數

指定寬度


可以指定每個要替換的位置的寬度,有時候這樣格式化數據可以更加美觀。

Python 字符串格式化 Format 函數

上面的例子,指定數字 5 的寬度是5,字符串 books 的寬度是20.

你可以發現,默認數字類型是右對齊,字符串類型是左對齊。

可以用對齊編碼控制對齊的行為,放在冒號右側。

  • > 右對齊
  • < 左對齊
  • ^ 居中
Python 字符串格式化 Format 函數

補足寬度默認加空白字符,也可以指定字符。

Python 字符串格式化 Format 函數

上例中,5 使用 -,books 使用 * 補足了寬度。


分享到:


相關文章: