python格式化字串

2022-06-17 22:18:15 字數 1982 閱讀 9655

在許多程式語言中都包含有格式化字串的功能,比如c和fortran語言中的格式化輸入輸出。python中內建有對字串進行格式化的操作%。

格式化字串時,python使用乙個字串作為模板。模板中有格式符,這些格式符為真實值預留位置,並說明真實數值應該呈現的格式。python用乙個tuple將多個值傳遞給模板,每個值對應乙個格式符。

比如下面的例子:

print("i'm %s. i'm %d year old" % ('vamei', 99))

上面的例子中,

"i'm %s. i'm %d year old" 為我們的模板。

%s為第乙個格式符,表示乙個字串。

%d為第二個格式符,表示乙個整數。

('vamei', 99)的兩個元素'vamei'和99為替換%s和%d的真實值。 

在模板和tuple之間,有乙個%號分隔,它代表了格式化操作。

整個"i'm %s. i'm %d year old" % ('vamei', 99) 實際上構成乙個字串表示式。我們可以像乙個正常的字串那樣,將它賦值給某個變數。比如:

a = "i'm %s. i'm %d year old" % ('vamei', 99)

print(a)

我們還可以用詞典來傳遞真實值。如下:

print("i'm %(name)s. i'm %(age)d year old" % )

可以看到,我們對兩個格式符進行了命名。命名使用()括起來。每個命名對應詞典的乙個key。

格式符為真實值預留位置,並控制顯示的格式。格式符可以包含有乙個型別碼,用以控制顯示的型別,如下:

%s    字串 (採用str()的顯示)

%r    字串 (採用repr()的顯示)

%c    單個字元

%b    二進位制整數

%d    十進位制整數

%i    十進位制整數

%o    八進位制整數

%x    十六進製制整數

%e    指數 (基底寫為e)

%e    指數 (基底寫為e)

%f    浮點數(%.2f表示保留2位小數)

%f    浮點數,與上相同

%g    指數(e)或浮點數 (根據顯示長度)

%g    指數(e)或浮點數 (根據顯示長度)

%%    字元"%"

可以用如下的方式,對格式進行進一步的控制:

%[(name)][flags][width].[precision]typecode

(name)為命名

flags可以有+,-,' '或0。+表示右對齊。-表示左對齊。' '為乙個空格,表示在正數的左側填充乙個空格,從而與負數對齊。0表示使用0填充。

width表示顯示寬度

precision表示小數點後精度

print("%+10x" % 10)

print("%04d" % 5)

print("%6.3f" % 2.3)

上面的width, precision為兩個整數。我們可以利用*,來動態代入這兩個量。比如:

print("%.*f" % (4, 1.2))

python實際上用4來替換*。所以實際的模板為"%.4f"。

可以使用format()函式傳入引數,依次替換佔位符,.......

print("i'm ,hello " % format('bob','tom'))
print(

'hello, , 成績提公升了 %'.format('小明', 17.125))

#'hello, 小明, 成績提公升了 17.1%'

python中內建的%操作符可用於格式化字串操作,控制字串的呈現格式。python中還有其他的格式化字串的方式,但%操作符的使用是最方便的。

Python 字串格式化

字串格式化 s 格式化為字串 format hello,s.s enough for ya?values world hot print format values hello,world.hot enough for ya?f 格式化為實數 浮點數 format pi with three dec...

python字串格式化

字串的格式化 在python中也有類似於c中的printf 的格式輸出標記。在python中格式化輸出字串使用的是 運算子,通用的形式為 其中,左邊部分的 格式標記字串 可以完全和c中的一致。右邊的 值組 如果有兩個及以上的值則需要用小括號括起來,中間用短號隔開。重點來看左邊的部分。左邊部分的最簡單...

Python字串格式化

字串的格式化 在python中也有類似於c中的printf 的格式輸出標記。在python中格式化輸出字串使用的是 運算子,通用的形式為 其中,左邊部分的 格式標記字串 可以完全和c中的一致。右邊的 值組 如果有兩個及以上的值則需要用小括號括起來,中間用短號隔開。重點來看左邊的部分。左邊部分的最簡單...