Python はじめました:整形仕様

Python.use(better) # Python はじめました記事一覧
整形仕様

《著》小粒ちゃん+α《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28

整形仕様〈Python 3.0 版〉

文字列を整形したいときには、変換フィールド〔conversion field〕を指定します。括弧 {} で囲まれた箇所は(型変換をした後で)整形した文字列と置き換えられます。文字列の中に括弧 {} そのものを記述するには、それぞれを二重「{{」および「}}」にします。

変換フィールド field_name には、次のものを指定できます。

field_name
{ 整数 } 位置引数(オフセット位置にある)を参照します。
{ 識別子 } キーワード引数(同じ識別子を持つ)を参照します。

これに続けて、次のものを指定できます。

field_name
. 識別子 インスタンス属性を参照します。getattr() を利用します。
[ 整数 ] 指定した位置を参照します。__getitem__() を利用します。
% python3.0
>>> n = 3+4j; n
(3+4j)
>>> n.real; n.imag
3.0
4.0

複素数 n には、2つのインスタンス属性 real/imag があります。

>>> "real={0} imag={1}".format(n.real, n.imag)
'real=3.0 imag=4.0'

括弧 {} 内に「整数(オフセット位置)」を指定すると、対応する位置引数の値が得られるのが分かります。また、

>>> "real={0.real} imag={0.imag}".format(n)
'real=3.0 imag=4.0'

ピリオド「.」に続いて「識別子」を指定すると、対応するインスタンス属性の値が得られるのが分かります。

文字列の変換指令〈Python 2.x 版〉

文字列の変換指令には、演算子 % に続く各値要素が順番に対応します。

% python2.6
>>> n = 3+4j; n
(3+4j)
>>> n.real; n.imag
3.0
4.0
>>> "real=%s imag=%s"%(n.real, n.imag)
'real=3.0 imag=4.0'

変換指令 %s は、指定した値を文字列に変換します。演算子 % に続く2つのインスタンス属性 n.real/n.imag の値が、順番に対応しているのが分かります。

Last updated♪09/03/04