文字列のフォーマット方法あれこれ
ドキュメントを読んでたら、馴染みのない文字列のフォーマット方法がいくつかあったので、試してみた。
class Person(object): def __init__(self, name, age): self.name = name self.age = age def __str__(self): return "{0.name} {0.age}".format(self) def __repr__(self): return "Person object : {0.name} {0.age}".format(self) person1 = Person(name=u"john", age=26) person2 = Person(name=u"paul", age=25) persons = [person1, person2] # 属性にアクセス print "{0.name} {0.age}".format(person1) # => john 26 # リストにインデックスでアクセス print "{persons[0].name}, {persons[1].name}".format(persons=persons) # => john, paul # __str__ print "{!s}".format(person1) # => john 26 # __repr__ print "{!r}".format(person1) # => Person object : john 26 # number format print '{:,}'.format(1234567890) # => 1,234,567,890 # center print '{0:*^20}'.format('title') # => *******title******** # right print '{0:*>20}'.format('title') # => ***************title # left print '{0:*<20}'.format('title') # => title***************