Python 字串格式化

2022-08-29 23:42:23 字數 3176 閱讀 1464

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

(name) 可選,用於選擇指定的key

flags 可選,可供選擇的值有:

+ 右對齊;正數前加正好,負數前加負號;

- 左對齊;正數前無符號,負數前加負號;

空格 右對齊;正數前加空格,負數前加負號;

0 右對齊;正數前無符號,負數前加負號;用0填充空白處

width 可選,占有寬度

.precision 可選,小數點後保留的位數

typecode 必選

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;)

%,當字串中存在格式化標誌時,需要用 %%表示乙個百分號

tpl = "i am %s" % "tom"

tpl = "i am %s age %d" % ("tom", 18)

tpl = "i am %(name)s age %(age)d" %

tpl = "percent %.2f" % 99.97623

tpl = "i am %(pp).2f" %

tpl = "i am %.2f %%" %

[[fill]align][sign][#][0][width][,][.precision][type]

fill 可選, 空白處填充的字元

align 可選, 對齊方式(需配合width使用)

<, 內容左對齊

>, 內容右對齊(預設)

=, 內容右對齊,將符號放置在填充字元的左側,且只對數字型別有效。即:符號+填充物+數字

^, 內容居中

sign 可選, 有無符號數字

+, 正號加正,負號加負;

-, 正號不變,負號加負;

空格 ,正號空格,負號加負;

# 可選, 對於二進位制、八進位制、十六進製制,如果加上#,會顯示 0b/0o/0x,否則不顯示

, 可選, 為數字新增分隔符,如:1,000,000

width 可選, 格式化位所佔寬度

.precision 可選, 小數字保留精度

type 可選, 格式化型別

a. 傳入 "字串型別" 的引數

s, 格式化字串型別資料

空白,未指定型別,則預設是none,同s

b. 傳入 "整數型別" 的引數

b,將10進製整數自動轉換成2進製表示然後格式化

c,將10進製整數自動轉換為其對應的unicode字元

d,十進位制整數

o,將10進製整數自動轉換成8進製表示然後格式化;

x,將10進製整數自動轉換成16進製表示然後格式化(小寫x)

x,將10進製整數自動轉換成16進製表示然後格式化(大寫x)

c. 傳入 "浮點型或小數型別" 的引數

e, 轉換為科學計數法(小寫e)表示,然後格式化;

e, 轉換為科學計數法(大寫e)表示,然後格式化;

f, 轉換為浮點型(預設小數點後保留6位)表示,然後格式化;

f, 轉換為浮點型(預設小數點後保留6位)表示,然後格式化;

g, 自動在e和f中切換

g, 自動在e和f中切換

%, 顯示百分比(預設顯示小數點後6位)

tpl = "i am {}, age {}, {}".format("jerry", 18, 'tom')

tpl = "i am {}, age {}, {}".format(*["jerry", 18, 'tom'])

tpl = "i am , age , really ".format("jerry", 18)

tpl = "i am , age , really ".format(*["jerry", 18])

tpl = "i am , age , really ".format(name="jerry", age=18)

tpl = "i am , age , really ".format(**)

tpl = "i am , age , really ".format([1, 2, 3], [11, 22, 33])

tpl = "i am , age , money ".format("jerry", 18, 88888.1)

tpl = "i am , age ".format(*["jerry", 18])

tpl = "i am , age ".format(name="jerry", age=18)

tpl = "i am , age ".format(**)

tpl = "numbers: ,,,,, ".format(15, 15, 15, 15, 15, 15.87623, 2)

tpl = "numbers: ,,,,, ".format(15, 15, 15, 15, 15, 15.87623, 2)

tpl = "numbers: ,,,,, ".format(15)

tpl = "numbers: ,,,,, ".format(num=15)

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中的一致。右邊的 值組 如果有兩個及以上的值則需要用小括號括起來,中間用短號隔開。重點來看左邊的部分。左邊部分的最簡單...