print() 函式使用以%
開頭的轉換說明符對各種型別的資料進行格式化輸出,具體請看下表。
表 1 python 轉換說明符
轉換說明符
解釋%d、%i
轉換為帶符號的十進位制整數
%o轉換為帶符號的八進位制整數
%x、%x
轉換為帶符號的十六進製制整數
%e轉化為科學計數法表示的浮點數(e 小寫)
%e轉化為科學計數法表示的浮點數(e 大寫)
%f、%f
轉化為十進位制浮點數
%g智慧型選擇使用 %f 或 %e 格式
%g智慧型選擇使用 %f 或 %e 格式
%c格式化字元及其 ascii 碼
%r使用 repr() 函式將表示式轉換為字串
%s使用 str() 函式將表示式轉換為字串
轉換說明符(conversion specifier)只是乙個佔位符,它會被後面表示式(變數、常量、數字、字串、加減乘除等各種形式)的值代替。
【例項】輸出乙個整數:
age = 8print("c語言中文網已經%d歲了!" % age)
執行結果:
c語言中文網已經8歲了!
在 print() 函式中,由引號包圍的是格式化字串,它相當於乙個字串模板,可以放置一些轉換說明符(佔位符)。本例的格式化字串中包含乙個%s
說明符,它最終會被後面的 age 變數的值所替代。
中間的%
是乙個分隔符,它前面是格式化字串,後面是要輸出的表示式。
當然,格式化字串中也可以包含多個轉換說明符,這個時候也得提供多個表示式,用以替換對應的轉換說明符;多個表示式必須使用小括號( )
包圍起來。請看下面的例子:
age = 8
url = ""
print("%s已經%d歲了,它的**是%s。" % (name, age, url))
執行結果:
c語言中文網已經8歲了,它的**是。
總之,有幾個佔位符,後面就得跟著幾個表示式。
當使用表1中的轉換說明符時,可以使用下面的格式指定最小輸出寬度(至少占用多少個字元的位置):
請看下面的演示:
n = 1234567print("n(10):%10d." % n)
print("n(5):%5d." % n)
url = "python/"
print("url(35):%35s." % url)
print("url(20):%20s." % url)
執行結果:
n(10): 1234567.從執行結果可以發現,對於整數和字串,當資料的實際寬度小於指定寬度時,會在左側以空格補齊;當資料的實際寬度大於指定寬度時,會按照資料的實際寬度輸出。n(5):1234567.
url(35): python/.
url(20):python/.
你看,這裡指定的只是最小寬度,當資料的實際寬度足夠時,指定的寬度就沒有實際意義了。
預設情況下,print() 輸出的資料總是右對齊的。也就是說,當資料不夠寬時,資料總是靠右邊輸出,而在左邊補充空格以達到指定的寬度。python 允許在最小寬度之前增加乙個標誌來改變對齊方式,python 支援的標誌如下:
python 支援的標誌 標誌
說明-指定左對齊
+表示輸出的數字總要帶著符號;整數帶+
,負數帶-
。
0表示寬度不足時補充 0,而不是補充空格。
幾點說明:
請看下面的**:
n = 123456# %09d 表示最小寬度為9,左邊補0
print("n(09):%09d" % n)
# %+9d 表示最小寬度為9,帶上符號
print("n(+9):%+9d" % n)
f = 140.5
# %-+010f 表示最小寬度為10,左對齊,帶上符號
print("f(-+0):%-+010f" % f)
s = "hello"
# %-10s 表示最小寬度為10,左對齊
print("s(-10):%-10s." % s)
執行結果:
n(09):000123456對於小數(浮點數),print() 還允許指定小數點後的數字位數,也即指定小數的輸出精度。n(+9): +123456
f(-+0):+140.500000
s(-10):hello .
精度值需要放在最小寬度之後,中間用點號.
隔開;也可以不寫最小寬度,只寫精度。具體格式如下:
%m.nf
%.nf
m 表示最小寬度,n 表示輸出精度,.
是必須存在的。
請看下面的**:
f = 3.141592653# 最小寬度為8,小數點後保留3位
print("%8.3f" % f)
# 最小寬度為8,小數點後保留3位,左邊補0
print("%08.3f" % f)
# 最小寬度為8,小數點後保留3位,左邊補0,帶符號
print("%+08.3f" % f)
執行結果:
3.1420003.142
+003.142
Python基礎教程 格式化字串
1.字串格式化基礎 字串格式化相當於字串模板。也就是說,如果乙個字串有一部分是固定的,而另一部分是動態變化的,那麼就可以將固定的部分做成模板,然後那些動態變化的部分使用字串格式化操作符 替換。如一句問候語 hello 李寧 其中 hello 是固定的,但 李寧 可能變成任何乙個人的名字,如 賈伯斯 ...
Python 格式化字元
字串格式化操作符 只適用於字串型別,語法如下 format string string to convert format string為格式標記字串,形式為 cdoe string to convert 為要格式化的字串,如果是兩個以上,則需要用小括號括起來。格式化符號 說明 r 轉換成字元 as...
Python 格式化字元
字元 c 單個字元 b 二進位制整數 d 十進位制整數 i 十進位制整數 會自動將輸入的八進位制或十六進製制數轉換成十進位制 o 八進位制整數 x 十六進製制整數 s 字串 採用str 的顯示 r 字串 採用repr 的顯示 e 指數 基底寫為e e 指數 基底寫為e f 浮點數 f 浮點數,與上相...