Python はじめました:整形仕様 - 変換フィールド conversion

Python.use(better) # Python はじめました記事一覧
整形仕様 - 変換フィールド conversion

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

整形仕様 - 変換フィールド conversion〈Python 3.0 版〉

変換フィールド conversion には、記号「!」に続けて次の文字を指定できます。

conversion flags
s
その値に str() を適用した結果と置き換えます。
r
その値に repr() を適用した結果と置き換えます。
a
その値に ascii() を適用した結果と置き換えます。
def ex():
    for e in "sra":
        s = "'{{0!{0}}}'.format('愛')".format(e)
        print(">>>",s)
        print(eval(s))

% python3.0 -i ex30.py 
>>> ex()
>>> '{0!s}'.format('愛')
愛
>>> '{0!r}'.format('愛')
'愛'
>>> '{0!a}'.format('愛')
'\u611b'

文字列の変換フラグの違いを確認できます。

str 型のメソッド〈Python 2.x 版〉

文字列の変換指令には、記号「%」に続けて次の文字を指定できます。

conversion types
s
文字列(関数 str() を適用して変換します)。
r
文字列(関数 repr() を適用して変換します)。
def ex():
    for e in "sr":
        s = "'%%%s'%%('愛')"%e
        print ">>>",s
        print eval(s)
        
% python2.6 -i ex26.py 
>>> ex()
>>> '%s'%('愛')
愛
>>> '%r'%('愛')
'\xe6\x84\x9b'

文字列の変換指令の違いを確認できます。
《Note》演算子 % との違いに注意してください。■


Last updated♪09/03/10