You are here: Home > Dive Into Python > 組み込みのデータ型 > フォーマット文字列 | << >> | ||||
Dive Into PythonPython from novice to pro |
Python は値の文字列へのフォーマットをサポートしています. 非常に込み入った式も含むことはできますが, %s プレースホルダ (訳注. 値の代わりに仮に置かれる文字列) を使って文字列に値を挿入するという, 基本的な使い方がほとんどです.
Python のフォーマット文字列では, C の sprintf 関数と同じ文法が使われています. |
(k, v) がタプルであることに注意してください. 私は, タプルはとあることに役立つ, と言いました.
あなたは, ただ単に文字列の連結を行うのに大袈裟なやり方をしていると考えるかもしれませんが, それは正しいでしょう. しかし, フォーマット文字列は単なる文字列連結ではありません. 単なる書式化でもありません. それは同時に暗黙の型変換 (coercion) でもあるのです.
>>> 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 "<interactive input>", line 1, in ? TypeError: cannot concatenate 'str' and 'int' objects
C の printf についても言えることですが, Python のフォーマット文字列はスイスアーミーナイフのようなものです. それは豊富なオプションや, 多くの種類の値の特殊な書式化を行う修飾文字列を持っています.
>>> 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
<< 変数の宣言 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
リストのマップ操作 >> |