感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Pythonで、format()メソッドを使って、ある文字列に特定の文字列を差し込むサンプル

スポンサーリンク

定形の文章みたいに一部だけ任意の文字列を差し込む処理をしたいことがある。
たとえば、今日みたいな休日に予定がなくて、色んな女の子に絨毯爆撃式にメールを送りたいとき。

いちいちメールを作るのが面倒くさかったりする。
そういうときは、Python

# -*- coding: utf-8 -*-
confessionStr = 'こんばんは!, {}ちゃん!今日は予定あいてる?'

for i in [ '綾子',
           '桃子',
           '千香子']:
        print(confessionStr.format(i))

とやれば、以下のように出力される。

こんばんは!, 綾子ちゃん!今日は予定あいてる?
こんばんは!, 桃子ちゃん!今日は予定あいてる?
こんばんは!, 千香子ちゃん!今日は予定あいてる?

format()メソッドでは、波括弧({})で囲んだ文字列を使って、テンプレートのなかに文字列を差し込む位置を指定する。

"{} love you".format('Takashi')

みたいに、{}の部分を文字列で置き換える。
上の例は複数を置き換えた例。

ただし、上のような例だと、女の子同士が友達だったりする場合予期せぬ障害が発生することがある。
そういうときのために、複数の置き換えパターンを用意してみよう。

# -*- coding: utf-8 -*-
confessionStr = 'こんばんは!, {}ちゃん!今日も{}ね!'

for i in [ '紗耶香',
           '智美',
           '佳奈']:
        for j in ['きれいだ',
                  'かわいい',
                  'いい匂いがする']:
            print(confessionStr.format(i,j))

こんか感じで、confessionStr.format(i,j)のように、順番を指定することで、二箇所の文字列を差し込むことができる。

こんばんは!, 紗耶香ちゃん!今日もきれいだね!
こんばんは!, 紗耶香ちゃん!今日もかわいいね!
こんばんは!, 紗耶香ちゃん!今日もいい匂いがするね!
こんばんは!, 智美ちゃん!今日もきれいだね!
こんばんは!, 智美ちゃん!今日もかわいいね!
こんばんは!, 智美ちゃん!今日もいい匂いがするね!
こんばんは!, 佳奈ちゃん!今日もきれいだね!
こんばんは!, 佳奈ちゃん!今日もかわいいね!
こんばんは!, 佳奈ちゃん!今日もいい匂いがするね!

この実行結果だけ見ると、とてもキモいが、format()メソッドの便利さが伝われば本望だ。

勉強した本

みんなのPython 第3版

みんなのPython 第3版

この本に変なことが書いてあるわけではないので、そこだけは勘違いしないでください。
この本はすごくいい本です。