天天看點

python字元串格式化

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' % "大大大大"