>>> k = "uid"
>>> v = "sa"
>>> "%s=%s" % (k, v)
'uid=sa'
整個表示式的值為乙個字串。第乙個 %s 被變數 k 的值替換;第二個 %s 被 v 的值替換。字串中的所有其它字元 (在這個例子中,是等號) 按原樣列印輸出。注意 (k, v) 是乙個 tuple。
>>> uid = "sa"
>>> pwd = "secret"
>>> print pwd + " is not a good password for " + uid # +是字串連線操作符
secret is not a good password for sa
>>> print "%s is not a good password for %s" % (pwd, uid)
secret is not a good password for sa
>>> usercount = 6
>>> print "users connected: %d" % (usercount, )
users connected: 6
>>> print "users connected: " + usercount # 試圖將乙個字串同乙個非字串連線會引發乙個異常。與字串格式化不同,字串連線只能在被連線的每乙個都是字串時起作用。
traceback (innermost last):
file "", line 1, in ?
typeerror: cannot concatenate 'str' and 'int' objects
注: (usercount, ) 是乙個只包含乙個元素的 tuple。是的,語法有一點奇怪,但是使用它的理由就是:顯示地指出它是乙個 tuple,而不是其他。實際上,當定義乙個 list、tuple 或 dictionary 時,您可以總是在最後乙個元素後面跟上乙個逗號,但是當定義乙個只包含乙個元素的 tuple 時逗號是必須的。如果省略逗號,python 不會知道 (usercount) 究竟是乙個只包含乙個元素的 tuple 還是變數 usercount 的值。
>>> print "today's stock price: %f" % 50.4625
50.462500
>>> print "today's stock price: %.2f" % 50.4625
50.46
>>> print "change since yesterday: %+.2f" % 1.5
+1.50
%f 格式符選項對應乙個十進位制浮點數,不指定精度時列印 6 位小數。
使用包含「.2」精度修正符的 %f 格式符選項將只列印 2 位小數。
甚至可以混合使用各種修正符。新增 + 修正符用於在數值之前顯示乙個正號或負號。注意「.2」精度修正符仍舊在它原來的位置,用於只列印 2 位小數。
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中的一致。右邊的 值組 如果有兩個及以上的值則需要用小括號括起來,中間用短號隔開。重點來看左邊的部分。左邊部分的最簡單...