str.format()の構文

print(‘{}, {}!’.format(‘Hello’, ‘World’))
Hello, World!

print(‘{0}, {1}, {0}!’.format(‘Hello’, ‘World’))
Hello, World, Hello!

このようになる。

置き換えるには①

card = “””\
株式会社 開発商事
{job_title}
{name}
MAIL: {mail}
TEL: 04-9999-9999 FAX: 04-9999-9998 内線: {extension}
URL: https://www.kaihatsu.jp
“””

sato_card = card.format(job_title=’エンジニア’,name=’佐藤太一’,mail=’taichi@kaihotsu.jp’,extension=’1235′)
ここで、’job_title’とはしない そのまま

という風に{名前}とした場合、(名前=’’)で置き換えることが出来る。

置き換えるには②

name = ‘佐藤’

date = ‘5月21日’

time = ’13:00′

message = “””\
健康診断のお知らせ
{}さん →ここが{0}という数字であった場合に、この形式でよい。
下記の通り、健康診断を実施します。
日時: {} {} 〜
場所:木田診療所
実施項目:身長・体重・視力測定、聴診、血液検査”””

kennkou=message.format(name,date,time)→このように{}に順番や記号がない場合には、順序に合わせて入れればよい。
print(kennkou)

print("私の出身地は{0}だ!{0}に行ったことはあるかい?".format(place))

formatの数字は省略できるが、一つしか引数がない場合には、必ず0で指定する。

補足

  • { }内インデックスの後ろに:をつけることで書式の指定が可能になる
  • 小数点の桁数制限
    • {:.Nf}のように書くことで小数点N桁目まで表示する
    • f は小数浮動型の意味を持つfloatの頭文字で型の指定をしている
    • print("{}".format(0.123456789)) # 出力結果:0.123456789 print("{:.2f}".format(0.123456789)) # 出力結果:0.12 print("{:.5f}".format(0.123456789)) # 出力結果:0.12346
    • 小数点N+1桁目を四捨五入する
list_score = [["大川",254], ["高橋",231], ["吉田",244]]
for data in list_score:
    print("{0}さんの平均点は{1:.1f}でした。".format(data[0], data[1]/3))

大川さんの平均点は84.7でした。
高橋さんの平均点は77.0でした。
吉田さんの平均点は81.3でした。

{1:0f}にすると整数になる

型(タイプ)の指定

一般によく用いる型だけを以下の表にまとめました。

記号型(タイプ)備考
s文字列これがデフォルトなので、通常は省略する。
d整数(10進数)2進数はb、16進数はxまたはX
eまたはE浮動小数点数(指数表記)大文字(E)の場合は指数表記にeでなくEが使われる。
fまたはF浮動小数点数(小数点表記)大文字(F)の場合はnanがNAN、infがINFと表示される。

コメント

タイトルとURLをコピーしました