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

書式を設定する

%を使う

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

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

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前で待機してください。

このようになります。

Kotaro
Kotaro
フォトグラファー, サウンドデザイナー, 投機家。
ドイツで制作したピアノアルバムをリリース後「金田式電流伝送DC録音」専門スタジオにアシスタントとして弟子入りし裏方へ。
現在は独立しKotaro Studioで「誰かのためにただここに在る」をテーマにアルゼンチンタンゴとアメリカの古典音楽の歴史を研究しながらコンテンツを制作中。
小学3年生の頃、読書感想文の賞金である図書券で2冊の投資関連の本を購入したのをきっかけに投資に興味を持つ。
当サイトでは金融の歴史も含め関連するデータやスキルもアーカイブしていきます。
左脳を使うのに疲れたらKotaro Studioの音楽コンテンツも是非ご覧ください。