Pythonのフォーマット文字とは?
フォーマットは簡単に説明すると文字が展開できるという特徴があります。
フォーマット文字とは %s などのことです。これは非常にややこしく似たようなものに(似てないですが)エスケープ文字やraw文字などがあります。しかしこれらは正規表現などで使用するものでフォーマット文字とは全く関係ありません。raw文字列とはシングルクォートなどを生で返す文字列のことです。
しかし今回はその説明ははぶきます。
フォーマット文字は図にするとわかりやすい
以下にformat文字のイメージ図をのせます。
たとえばこの例ですと %s は文字を展開できます。なのでprintした結果はHello, World!となります。赤四角で囲まれた%記号は%演算子と呼ばれているものです。これだったら初心者にもわかりやすいですね。
他方でエスケープ文字とは\nなど改行文字を表す文字のことを指しますが、フォーマット文字とは全く関係ありません。
数字を展開させる場合は %d を使います。2つのformat文字を展開させることもできます。
print 'Hi, %s. You are %d years old' % ('John', 25)
フォーマット文字のドキュメントや参考リンク
おそらくドキュメントを見ても言っていることがわからないと思います。わたしもわかりません。ですが、ある程度は参考になると思います。頑張ってみてください。
文字列置換(フォーマット)まとめ(format関数, %dなど)
http://dackdive.hateblo.jp/entry/2014/11/15/001318
5.6.2. 文字列フォーマット操作
http://docs.python.jp/2/library/stdtypes.html#string-formatting
コメント