[Python] Python 3 スタイルの文字列フォーマット

Python 3 スタイルの文字列フォーマット

Python 3 スタイルの文字列フォーマットのまとめ.

基本

>>> "{} {}".format("apple", "pen")
'apple pen'

順番指定

>>> "{1} {0}".format("apple", "pen")
'pen apple'

オブジェクトの __str__(), __repr__() 呼び出し

class MyClass(object):

    def __str__(self):
        return 'str'

    def __repr__(self):
        return 'repr'

print('{}'.format(MyClass()))    # str
print('{!s}'.format(MyClass()))  # str
print('{!r}'.format(MyClass()))  # repr

文字列のアラインメント,パディング

文字数を指定すると,不足分はスペースでパディングされる.

デフォルト

>>> "[{:10}]".format("apple")
'[apple     ]'

左寄せを指定

>>> "[{:<10}]".format("apple")
'[apple     ]'

右寄せを指定

>>> "[{:>10}]".format("apple")
'[     apple]'

中央寄せを指定

>>> "[{:^10}]".format("apple")
'[  apple   ]'

パディングする文字

デフォルト

>>> "[{:<10}]".format("apple")
'[apple     ]'

ハイフンを指定

>>> "[{:-<10}]".format("apple")
'[apple-----]'

文字数

文字数を制限する

先頭4文字を表示する.

>>> "[{:.4}]".format("pineapple")
'[apple-----]'

先頭4文字を表示し,10文字中余った部分はパディングする.

>>> "[{:10.4}]".format("pineapple")
'[pine      ]'

数字

文字数を制限する

int .

>>> "{:d}".format(1)
'1'

float 型.

>>> "{:f}".format(3.14)
'3.140000'

パディングする.

>>> "[{:4d}]".format(1)
'[   1]'

パディングする.

>>> "{:08.2f}".format(3.14159265)
'00003.14'

符号.

>>> "[{:+4d}]".format(1)
'[  +1]'

コメントを残す

メールアドレスが公開されることはありません。