Python format 文字列をフォーマットする使い方(埋めこみ、書式指定、切り捨て)

Pythonでは「format」を使って文字列を様々な形式でフォーマットすることができます。

例えば、カンマ区切りのデータをバラバラに分割してリスト型にいれて取り出すことができます。

今回は、Pythonで文字列を様々な形式でフォーマットする「format」の使い方を解説します。

文字列をフォーマットするformat

format構文

# 文字列を埋め込む
文字列{}文字列.format(埋め込む文字列)

「format」では文字列の中にある波かっこ{}に指定した文字列を埋め込みます。

formatの使用例

例1. 文字列を埋め込む

userpass = 'user:{} password:{}'
userpass.format('satou','1234')
#[結果] 'user:satou password:1234'

「userpass」には2つの波カッコ{}が含まれます。「format」で1つ目の波カッコ{}に「satou」、2つ目の波カッコ{}に「1234」を埋め込みました。

例2. 文字列を埋め込む位置を指定する

userpass = 'user:{1} password:{0}'
userpass.format('1234','satou')
#[結果] 'user:satou password:1234'

「userpass」の2つの波カッコ{}に数字を指定しました。この数字が「format」のパラメータの順番です。「0」は「satou」、「1」は「satou」に対応します。

例3. 文字列を名前を指定して埋め込む

userpass = 'user:{u} password:{p}'
userpass.format(u='satou',p='1234')
#[結果] 'user:satou password:1234'

「userpass」の2つの波カッコ{}にそれぞれ名前「u」「p」を指定しました。「format」ではこの名前を指定して文字列を埋め込みました。

例4. 書式を指定して書式指定する

num= '{0} → 2進数={0:b}、10進数={0:d}、16進数={0:x}'
num.format(10)
#[結果] '10 → 2進数=1010、10進数=10、16進数=a'
進数 型記号
2進数 b
8進数 o
10進数 d
16進数 x

波カッコ{:}の「:」の前は「format」の引数の番号、「:」の後は型記号になります。ここでは「10」を2進数、10進数、16進数に変換しました。

例5. 小数桁を切り捨てる

'{: .3f}'.format(0.123456)
#[結果] '0.123'

「'{: .小数桁f}’.format(数値)」で数値の小数桁を切り捨てします。「'{: .3f}’」は小数3桁で切り捨てるので、結果は「0.123」となりました。ただし、戻り値は文字列型となります。

例6. 整数にカンマをつける

'{:,}'.format(100000000)
#[結果] '100,000,000'

「'{:,}’.format(数値)」で数値の整数をカンマ区切りにします。1億をカンマ区切りにできました。ただし、戻り値は文字列型となります。

これで区切り文字を指定して文字列を配列に分割することができました。

以上、Pythonで文字列をフォーマットする「format」の使い方でした。

コメント