python 支援格式化字串的輸出 。儘管這樣可能會用到非常複雜的表示式,但最基本的用法是將乙個值插入到乙個有字串格式符 %s 的字串中。上海python培訓-上海尚學堂編輯寫作。
整個表示式的值為乙個字串。第乙個 %s 被變數 k 的值替換;第二個 %s被 v 的值替換。字串中的所有其它字元 (在這個例子中,是等號) 按原樣列印輸出。
注意 (k, v) 是乙個 tuple。我說過它們對某些東西有用。您可能一直在想,做了這麼多工作只不過是為了做簡單的字串連線。您想的不錯,只不過字串格式化不只是連線。它甚至不僅僅是格式化。它也是強制型別轉換。
>>> uid = "sa"
>>> pwd = "secret"
>>> print pwd + " is not a good password for " + uid (1)
secret is not a good password for sa
>>> print "%s is not a good password for %s" % (pwd, uid) (2)
secret is not a good password for sa
>>> usercount = 6
>>> print "users connected: %d" % (usercount, ) (3) (4)
users connected: 6
>>> print "users connected: " + usercount (5)
traceback (innermost last):
file "", line 1, in ?
typeerror: cannot concatenate 'str' and 'int' objects
(1) + 是字串連線操作符。
(2) 在這個簡單例子中,字串格式化實現與連線一樣的結果。
(3) (usercount, ) 是乙個只包含乙個元素的 tuple。是的,語法有一點奇怪,但是使用它的理由就是:顯示地指出它是乙個 tuple,而不是其他。實際上,當定義乙個 list、tuple 或 dictionary 時,您可以總是在最後乙個元素後面跟上乙個逗號,但是當定義乙個只包含乙個元素的 tuple 時逗號是必須的。如果省略逗號,python 不會知道 (usercount) 究竟是乙個只包含乙個元素的tuple 還是變數 usercount 的值。
(4) 字串格式化通過將 %s 替換成 %d 即可處理整數。
(5) 試圖將乙個字串同乙個非字串連線會引發乙個異常。與字串格式化不同,字串連線只能在被連線的每乙個都是字串時起作用。如同 printf 在 c 中的作用,python 中的字串格式化是一把瑞士軍刀。它有豐富的選項,不同的格式化格式符和可選的修正符可用於不同的資料型別。
>>> print "today's stock price: %f" % 50.4625 (1)
50.462500
>>> print "today's stock price: %.2f" % 50.4625 (2)
50.46
>>> print "change since yesterday: %+.2f" % 1.5 (3)
+1.50
(1) %f 格式符選項對應乙個十進位制浮點數,不指定精度時列印 6 位小數。
(2) 使用包含「.2」精度修正符的 %f 格式符選項將只列印 2 位小數。
(3) 您甚至可以混合使用各種修正符。新增 + 修正符用於在數值之前顯示乙個正號或負號。注意「.2」精度修正符仍舊在它原來的位置,用於只列印 2 位小數。
《在python中一切皆物件》
《笨辦法學習python系列之python注釋和#號》
《python函式宣告以及與其他程式語言資料型別的比較》
《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中的一致。右邊的 值組 如果有兩個及以上的值則需要用小括號括起來,中間用短號隔開。重點來看左邊的部分。左邊部分的最簡單...