Python3.0 Hacks シリーズに記事 Pythonicな文字列フォーマットforamat()メソッド が公開されている。 従来文字列フォーマットには%を使用する方法とTemplateクラスを使用する方法とがあったが、3.0からは文字列オブジェクトにformatメソッドが追加された、との事 アトリビュートの埋め込みはちょっと面白いと思った。 >>> import sys >>> "Python version: {0.version}".format(sys) 'Python version: 2.6.1 (r261:67517, Dec 4 2008, 16:51:00) [MSC v.1500 32 bit (Intel)]' これは使えそう。 %演算子は,近い将来廃止されることが予告されています。 Pythonicな文字列フォーマットforamat()メソッド とあるので、formatメソッドを積極的に使った方が良いだろうか。 最後に練習問題がある。問題を引用 以下の%演算子を使った文字列フォーマットと同じものを,format()メソッドを使って書いて下さい。3行目だけを書き換えて,format()メソッドを使って同じ出力を得ることができれば正解です。 リスト5 >>> from keyword import kwlist >>> d={'language':'Python 3.0', 'keywords':len(kwlist)} >>> "%(language)s has %(keywords)3d keywords" % d 'Python 3.0 has 33 keywords' Pythonicな文字列フォーマットforamat()メソッド 挑戦してみる。 バージョンは2.6環境なのでちょっと改変して、こんな感じかな >>> from keyword import kwlist ...