home changes contents help options

244:オブジェクトを文字列に変換する

オブジェクトは、str()で文字列に変換できます。 str()で変換して出来る文字列は、printステートメントで表示するものと同じです。

 >>> str(3)
 '3'
 >>> str((1,2))
 '(1, 2)'
 >>> str(3.14)
 '3.14'
 >>> str(['foo','bar'])
 "['foo', 'bar']"

自分で作成したオブジェクトにstr()を使用したとき、特別な表示をしたい場合は __str__メソッドを定義します。

 >>> class Person:
      def __init__(self,name,age):
          self.name = name
          self.age  = age
      def __str__(self):
          return "class Person name:%s age:%d" % (self.name,self.age) 

 >>> p = Person("Taro",15)
 >>> str(p)
 'class Person name:Taro age:15'