python字元串格式化有兩種方法一種是以格式化字元串"%"表示,另外一種是format函數格式化,後者怎麼用我不清楚。
格式化操作符号
一般的格式化操作符有以下幾種:
%c 轉換成字元(ASCII 碼值,或者長度為一的字元串)
%r 優先用repr()函數進行字元串轉換
%s 優先用str()函數進行字元串轉換
%d / %i 轉成有符号十進制數
%u 轉成無符号十進制數
%o 轉成無符号八進制數
%x / %X 轉成無符号十六進制數(x / X 代表轉換後的十六進制字元的大小寫)
%e / %E 轉成科學計數法(e / E控制輸出e / E)
%f / %F 轉成浮點數(小數部分自然截斷)
%g / %G %e和%f / %E和%F 的簡寫
%% 輸出% (格式化字元串裡面包括百分号,那麼必須使用%%)
除了格式化操作符,我們在使用字元串格式化的過程中還需要用到格式化操作符輔助符
一般格式化操作符輔助符如下:
* 定義寬度或者小數點精度
- 用做左對齊
+ 在正數前面顯示加号(+)
# 在八進制數前面顯示零(0),在十六進制前面顯示"0x"或者"0X"(取決于用的是"x"還是"X")
0 顯示的數字前面填充"0"而不是預設的空格
(var) 映射變量(通常用來處理字段類型的參數)
m.n m 是顯示的最小總寬度,n 是小數點後的位數(如果可用的話)
我所熟悉的就三個 %s %d %f
簡單轉換案例:
1;#簡單轉換,以下用到的格式化符d選項,表示格式化一個整數,如果我這裡轉換一個處理整數的值,就會報錯,例如一個字元串
ss = 'Price of eggs:$%d' % 42
print(ss)
##運作結果如下
Price of eggs:$42
2;将字元串加入進去
ss = 'Price of eggs:$%d' % "大大大大"
##報錯資訊如下:
Traceback (most recent call last):
File "D:/pythontest/mypython/day1/str.py", line 5, in <module>
ss = 'Price of eggs:$%d' % "大大大大"