Pythonで文字列.format()を使ってフォーマットする

2013-06-11
このエントリーをはてなブックマークに追加

これまでですと文字列に変数埋め込んだりして成形するには%演算子を使ってたんですけど、どうやら%演算子はいずれなくなるとのことでして、format()を使ってみました。

# -*- coding: utf-8 -*-

_text = "あ%sう%sお" % ("い", "え")
print(_text)

_aiueo = "あ{0}う{1}お".format("い", "え")
print(_aiueo)

_kakikukeko = "か{ki}く{ke}こ".format(ki="き", ke="け")
print(_kakikukeko)

一番上が使い慣れた%演算子を使った書き方ですね。二番目と三番目がformat()を使った書き方。インデックスを指定してもいいし、添字を指定してもいいです。

正直、添字を使った書き方するときは辞書で書きたかったな。

_kakikukeko = "か{ki}く{ke}こ".format({'ki': 'き', 'ke': 'け'})

↑これはエラー出ますからね!

Python2.7でも3.3でも動作するサンプルです。