【Python】17日目 – もうちょっと深く文字列を知る [書式を設定する(format(), f-strings]

Python3.6からの機能としてf-strings機能があります。

書式を設定する

Python100日チャレンジの一日目で挨拶を表示することを学びました。

【Python】1日目 – [挨拶を表示する]

そこから特にこれまで表示print関数に関しては触れてきませんでしたが、ここで表示に関してより深く把握しておきたいと思います。

%を使う

%を使うために最初にまずは書式の定義をしてしまいます。

その後に、処理となるフォーマットを記述していきましょう。

age = 34
name = 'こうたろう'


print('こんにちは%sさん' % name)

print('%sさんは%d才です。' % (name, age))

実行結果は

こんにちはこうたろうさん
こうたろうさんは34才です。

になります。

  • %s – 文字列
  • %d – 10進整数

このように記述することが決まっているので暗記してしまいましょう。

format()

card = """\
Kotaro_Marks
{job}
{name}
MAIL: {mail}
"""

test_card = card.format(name = 'こうたろう',
                        job = '音響',
                        mail='TwitterへのDM',)

print(test_card)

このように定義された文章の一部分を指定して、文字列を配置することができます。

実行結果は

Kotaro_Marks
音響
こうたろう
MAIL: TwitterへのDM

このようになりました。

f-strings

Python3.6からの機能としてf-strings機能があります。

a_moji = 'kotaro'
b_moji = 'marks'
print(f'{a_moji}{b_moji}')

実行結果は

kotaromarks

このようになりました。

a_moji = '私は'
b_moji = 'Pythonを'
print(f'{a_moji}{b_moji}愛しています。')
私はPythonを愛しています。

こちらも便利に使えそうですね!

まとめ:会議のお知らせを作成する

message = """\
題名: 会議のお知らせ({date} {time})

{name}様。
下記の通り、制作予算会議をします。
日時: {date} {time} 〜
開始10分前にPC前で待機してください。"""

data = [
    # 名前, 日付, 時間
    ('志野', '1月11日', '10:00'),
    ('こうたろう', '4月7日', '10:30'),
    ('ナターシャ', '2月28日', '11:00'),
]


def main():
    for d in data:
        print('-----------')
        # リストの割り当て番号を指定します。
        print(message.format(name=d[0], date=d[1], time=d[2]))

if __name__ == '__main__':
    main()

for文のおさらいは7日目を参照してください。

【Python】7日目- ループ(繰り返しの処理を理解する)

実行結果は

題名: 会議のお知らせ(1月11日 10:00)

志野様。
下記の通り、制作予算会議をします。
日時: 1月11日 10:00 〜
開始10分前にPC前で待機してください。
-----------
題名: 会議のお知らせ(4月7日 10:30)

こうたろう様。
下記の通り、制作予算会議をします。
日時: 4月7日 10:30 〜
開始10分前にPC前で待機してください。
-----------
題名: 会議のお知らせ(2月28日 11:00)

ナターシャ様。
下記の通り、制作予算会議をします。
日時: 2月28日 11:00 〜
開始10分前にPC前で待機してください。

このようになります。

Writer's profile

Kotaro
Kotaro
音大を卒業後ピアニストとして活動。
自身のピアノトリオで活動後北欧スウェーデンにてシンガーアーティストLindha Kallerdahlと声帯とピアノによる即興哲学を研究。
その後ドイツへ渡りケルンにてAchim Tangと共に作品制作。
帰国後、金田式電流伝送DC録音の名手:五島昭彦氏のスタジオ「タイムマシンレコード」にアシスタントとして弟子入りし、録音エンジニアとしての活動開始。
独立後、音楽レーベル「芸術工房Pinocoa(現在はKotaro Studioに統合)」を立ち上げ、タンゴやクラシックなどのアコースティック音楽作品を多数プロデュース。
その後、秋山庄太郎氏後継の写真スタジオ「村上アーカイブス」でサウンドデザイナー兼音響担当として映像制作チームに参加。
本格的に写真、映像技術を学ぶ。
現在はKotaro Studioにて民族音楽に関する文化を研究。
「誰かのためにただここに在る」をコンセプトに誰かがいつでも訪れ安心感が得られるサイトを模索中。