概要
Python 2.6 以上を利用しているのに未だに %演算子(モジュロ)を利用した方法で文字列をフォーマットしているサンプルがネットでは出てきますが、はっきりいって古いのでやめましょう。
format メソッドを利用するべし。
format メソッドに関して
「PEP 3101 -- Advanced String Formatting」で仕様が定義されている。
サンプル
あまり丁寧ではないが、とりあえずサンプル。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest
class TestStringFormat(unittest.TestCase):
def test_basic(self):
"""基本的なサンプル
型を意識しなくても良い
名前付き指定が可能
"""
a = 21
b = 'フルマラソン'
d = 42.195
self.assertEqual('21日のフルマラソンは 42.195km です。',
'{0}日の{1}は {c}km です。'.format(a, b, c=d))
def test_object(self):
"""クラスも使える"""
class SampleModel(object):
def __init__(self):
self.id = 1200
self.name = '永遠'
self.age = 17
model = SampleModel()
self.assertEqual('永遠は17歳',
'{model.name}は{model.age}歳'.format(model=model))
if __name__ == '__main__':
unittest.main()
結論
プログラミング言語は発展しているので、最新の機能は勉強して、利用するとかなり便利だったりする。
不便におもっている事は単に知らないだけ、ということも結構ある。それだと損だと思う。