python中的十大%占位符對應的格式化的使用方法
字符串格式化裡的符號很多,本文詳細的介紹一下,以便隨時查找。
%s :字符串的格式化,也是最常用的
%d :格式化整數,也比較常用
%c :格式化字符及ASCII碼
%u :格式化無符號整型
%f :格式化浮點數,可以指定小數後面的精度
%e :使用科學計數法格式化浮點數
%o :格式化無符號八進制數
%x :格式化無符號十六進制數
%p :十六進制數格式化變量地址
%g :%e和%f的簡寫
演示一下各個占位符格式化使用時的效果
'''格式化字符串''' var_s = '%s' % '我是一個字符串' print(var_s) '''格式化整數''' var_d = '%d' % 10 print(var_d) '''格式化字符''' var_c = '%c' % "w" print(var_c) # 格式化字符,這裡必須是一個字符不能是字符串,否則就會出現下面的錯誤。 var_c = '%c' % "water" print(var_c) # var_c = '%c' % "water" # TypeError: %c requires int or char '''格式化無符號整型''' var_u = '%u' % 123 print(var_u) '''格式化浮點數''' var_f = '%.2f' % 2.3 print(var_f) '''科學計數法格式化浮點數''' var_e = '%e' % 2.3333333 print(var_e) '''格式化無符號八進制數''' var_o = '%o' % 100 print(var_o) # 得到的結果是144 # 可以使用int函數將得到的八進制再轉換成十進制結果是100,和我們的預想是一樣的。 print(int('144',8)) '''格式化無符號十六進制數''' var_x = '%x' % 100 print(var_x) # 得到的結果是64 print(int('64',16)) # 同理,再轉換回來結果是100 '''十六進制格式化變量地址''' var_p = '%p' % '144' print(var_p) # ValueError: unsupported format character 'p' (0x70) at index 1 # 執行%p的格式化時發現是不支持的,頭一回用竟然不支持。 '''%e與%f的縮寫''' var_g = '%.3g' % 2.12 print(var_g)
指定占位符寬度
>>> print ("Name : %10s, Age : %9d, Height: %8.2f"%("tom", 37, 2.29)) Name : tom, Age : 37, Height : 2.29
格式比較難看, 下面我們來做一下對齊
指定占位符寬度 – 左對齊
>>> print ("Name : %-10s, Age : %-9d, Height : %-8.2f"%("tom", 37, 2.29)) Name : tom , Age : 37 , Height : 2.29 備註:格式化可選標志符, 可選參數 + 右對齊;正數前加正好,負數前加負號; - 左對齊;正數前無符號,負數前加負號; 空格 右對齊;正數前加空格,負數前加負號; 0 右對齊;正數前無符號,負數前加負號;用0填充空白處 如: -10s, 表示10個字符串位置, 左對齊,後面用空格填充
指定占位符 – 用0當占位符
>>> print ("Name : %-10s, Age : %09d, Height : %08.2f"%("tom", 37, 2.29)) Name : tom , Age : 000000037, Height : 00002.29
總結
占位符的使用非常常見, 也非常實用, 它可以很好的幫助我們解決一些字符串格式化的問題, 變換出多種用法, 一些常用的占位符大傢可以記住, 以便提升編程效率。
到此這篇關於python中的十大%占位符對應的格式化的使用方法的文章就介紹到這瞭,更多相關python 占位符格式化內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python中str.format()方法的具體使用
- Python ord函數()案例詳解
- 一文秒懂Python中的字符串
- 關於Python的異常捕獲和處理
- Python自動化測試之異常處理機制實例詳解