ぷろぐら×でざいん

Pythonの文字列結合ではFormatを使おう

Pythonの文字列結合ではFormatを使おう

文字列結合

文字列の結合はどのようなシステム、サービスでも絶対に通る道だと思います。
特に文字と数字の結合と、文字と日付の結合など、String同士の結合ではないパターンは結構あるのではないでしょうか。

import datetime

count_str = str(12) + '回'
birthday = '誕生日は' + datetime.date(2017, 1, 1).strftime('%Y/%m/%d') + 'です'

print count_str
print birthday
実行結果
'12回'
'誕生日は2017/01/01です'

上記のように数字や日付を文字に変換する必要があるので、結構面倒臭いですし、保守性は低いです。
保守性の低い理由としては引数として数値や日付を渡しているとしたら、意図としないデータが送られてくるとエラーになるからです。


Formatの利用

Formatを利用することで文字列結合をより直感的に書くことできます。私はこちらの方がわかりやすいとは思います。

import datetime

print '{} 回'.format(12)
print '誕生日は{}です'.format(datetime.date(2017, 1, 1))
実行結果
'12 回'
'誕生日は2017-01-01です'

このようにFormatを利用することでどのようなデータ型でも文字列として結合することができるようになります。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です