Python 的 str.format() 函數允許你替換字符串內的變量。
這篇文件主要講解怎麼使用字符串的格式化和變量替換。這樣寫的代碼更加清晰,容易閱讀。
使用
在一個字符串內,允許使用佔位符,然後調用 str.format() 函數,按順序提供佔位符的值,返回的字符串就是替換之後的。
一個簡單的例子:
輸出:
以上例子中,使用大括號 {} 作為佔位符,函數傳遞字符串 python,最後返回的字符串中,python替換了大括號 {}。
多個佔位符
可以使用多個佔位符,format() 函數接受的是一個可變長參數。
輸出:
指定順序
佔位符裡面可以包含一個數字,例如 {1} 代表讓第幾個參數替換,下標從0開始。
輸出:
hello php python
{0} 替換為 format() 方法的第一個參數 python。
{1} 替換為 format() 方法的第二個參數 php。
format() 函數將輸入參數轉換為元組,佔位符裡的數字視為元組的索引。
如果字符串中佔位符中的數字在元組中訪問越界,會報 IndexError 異常。
指定類型
大括號裡還可以指定參數類型,進行更多的控制。
語法格式為:
{field_name:conversion}
field_name 指定在 str.format() 函數中參數的位置。
conversion 指定數據類型編碼,單字符。例如 s 代表字符串,d 代表整數,f 代表浮點數。
下面使用浮點數,在類型編碼 f 前面還可以指定精度。
此處,field_name 省略,默認是第一個參數,f 前面是 .3 代表留三位小數,.4 留4位。
注意,如果類型指定錯誤,會拋出錯誤:ValueError。
指定寬度
可以指定每個要替換的位置的寬度,有時候這樣格式化數據可以更加美觀。
上面的例子,指定數字 5 的寬度是5,字符串 books 的寬度是20.
你可以發現,默認數字類型是右對齊,字符串類型是左對齊。
可以用對齊編碼控制對齊的行為,放在冒號右側。
- > 右對齊
- < 左對齊
- ^ 居中
補足寬度默認加空白字符,也可以指定字符。
上例中,5 使用 -,books 使用 * 補足了寬度。
閱讀更多 趣喜歡編程 的文章