python中內建的%操作符
和format()方式
都可以用於格式化字串。
%操作符
根據轉換說明符所規定的格式返回一串格式化後的字串,轉換說明符的基本形式為:%[轉換標記][寬度[.精確度]]轉換型別
。
%操作符格式化字串時有如下幾種常見用法:
print
("the %s is a kind of %s."%(
,'fruit'))
person =
print
("the address of %(name)s is %(address)s."
% person)
# the address of watkins is siso.
print
("the age of is "
.format
(name=
'watkins'
, age=5)
)# the age of watkins is 05
format()方法
格式字串的呼叫格式為:".format()"
。當前支援的轉換標誌字元包括r(repr)、s(str)和a(ascii)。
格式說明符常用的呼叫方式為:[[填充符]對齊方式][符號][#][0][寬度][,][.精確度][轉換型別]
。
字串格式設定中的轉換型別型別
含義b
將整數表示為二進位制數
c
將整數解讀為unicode碼點
d
將整數視為十進位制數來處理,這是整數預設使用的說明符
e
使用科學表示法來表示小數(用e
來表示指數)
f
將小數表示為定點數
g
自動在定點表示法和科學表示法之間做出選擇。這是預設用於小數的說明符,但在預設情況下至少有1位小數
o
將整數表示為八進位制數
s
保持字串的格式不變,這是預設用於字串的說明符
x
將整數表示為十六進製制數並使用小寫字母
%
將數表示為百分比值
format()方法幾種常見的用法如下:
# 替換字段沒有名稱可將索引用作名稱,且可無需按順序排列
print
(" "
.format
('be'
,'not'
,'or'
,'to'))
# to be or not to be
# 如果變數和替換字段同名,可使用f字串——在字串前面加上f
from math import e
print
(f"euler's constant is roughly "
)# euler's constant is roughly 02.72
# 要指定左對齊、右對齊和居中,可分別使用<、>和^
print(""
.format
(pi=
3.141592))
# $$3.14$$
print(""
.format
(sale=
20190328.1227))
# 20,190,328.12
# 井號選項會觸發另一種轉換方式,轉換細節隨型別而異。
print(""
.format
(bn=28)
)# 0b11100
為什麼要盡量使用format方式而不是%操作符來格式化字串:
# 使用%方法格式化元組,要注意(name, )後面的符號
name =
("watkins"
,"uself"
)# typeerror: not all arguments converted during string formatting
print
("the names is %s"
%(name)
)print
("the names is %s"
%(name,))
# the names is ('watkins', 'uself')
(最近更新:2023年04月11日) python筆記 字串格式化函式format
自python2.6開始,新增了一種格式化字串的函式str.format 通過 和 來代替 通過位置 in 1 format cqk 20 out 1 cqk,20 in 2 format cqk 20 out 2 cqk,20 in 3 format cqk 20 out 3 20,cqk,20 ...
字串格式化
sprintf snprintf snprintf std stringstream std strstream boost lexical cast boost format cstring format 1 sprintf 使用 sprintf 不安全,輕則破壞資料的準確性,重則程式崩潰。請看下...
格式化字串
通常在使用字串的時候,會對字串進行格式化,然後輸出或呼叫 一般我們使用替換標記對字串進行格式化 string str1 string.format add is 1,2,3 而且在c 中的替換標記可以以任意順序和次數出現在格式化字串中,但替換值是按順序排的,而且替換標記不能超出索引範圍 string...