佔位符,顧名思義就是插在輸出裡站位的符號。佔位符是絕大部分程式語言都存在的語法, 而且大部分都是相通的, 它是一種非常常用的字串格式化的方式。
1. 常用佔位符的含義
s : 獲取傳入物件的__str__方法的返回值,並將其格式化到指定位置
r : 獲取傳入物件的__repr__方法的返回值,並將其格式化到指定位置
c : 整數:將數字轉換成其unicode對應的值,10進位制範圍為 0 <= i <= 1114111(py27則只支援0-255);字元:將字元新增到指定位置
o : 將整數轉換成 八 進製表示,並將其格式化到指定位置
x : 將整數轉換成十六進位制表示,並將其格式化到指定位置
d : 將整數、浮點數轉換成 十 進製表示,並將其格式化到指定位置
e : 將整數、浮點數轉換成科學計數法,並將其格式化到指定位置(小寫e)
E : 將整數、浮點數轉換成科學計數法,並將其格式化到指定位置(大寫E)
f : 將整數、浮點數轉換成浮點數表示,並將其格式化到指定位置(預設保留小數點後6位)
F : 同上
g : 自動調整將整數、浮點數轉換成 浮點型或科學計數法表示(超過6位數用科學計數法),並將其格式化到指定位置(如果是科學計數則是e;)
G : 自動調整將整數、浮點數轉換成 浮點型或科學計數法表示(超過6位數用科學計數法),並將其格式化到指定位置(如果是科學計數則是E;)
% : 當字串中存在格式化標誌時,需要用 %%表示一個百分號;
2. 常用佔位符應用舉例
1. 格式化字串
>>> print ("This website name is %s" % ("pythontab.com")) this website name is pythontab.com >>>
2. 格式化整數
>>> print ("The rank score is %d" % (100.0)) >>> The rank score is 100 >>>
3. 格式化浮點數
>>> print ("Yao Ming's height is %f m"%(2.29)) Yao Ming's height is 2.290000 m >>>
4. 格式化浮點數(指定保留小數點位數)
>>> print ("Yao Ming's height is %.1f m"%(2.29)) Yao Ming's height is 2.3 m >>>
5. 指定佔位符寬度
>>> print ("Name : %10s, Age : %9d, Height: %8.2f"%("Yao Ming", 37, 2.29)) Name : Yao Ming, Age : 37, Height : 2.29 >>>
格式比較難看, 下面我們來做一下對齊
6. 指定佔位符寬度 - 左對齊
>>> print ("Name : %-10s, Age : %-9d, Height : %-8.2f"%("Yao Ming", 37, 2.29)) Name : Yao Ming , Age : 37 , Height : 2.29 >>>
注:
格式化可選標誌符, 可選引數
+ 右對齊;正數前加正好,負數前加負號;
- 左對齊;正數前無符號,負數前加負號;
空格 右對齊;正數前加空格,負數前加負號;
0 右對齊;正數前無符號,負數前加負號;用0填充空白處
如: -10s, 表示10個字串位置, 左對齊,後面用空格填充
7. 指定佔位符 - 用0當佔位符
>>> print ("Name : %-10s, Age : %09d, Height : %08.2f"%("Yao Ming", 37, 2.29)) Name : Yao Ming , Age : 000000037, Height : 00002.29 >>>
3. 總結
佔位符的使用非常常見, 也非常實用, 它可以很好的幫助我們解決一些字串格式化的問題, 變換出多種用法, 一些常用的佔位符大家可以記住, 以便提升程式設計效率。