2009年10月6日火曜日

オブジェクトの文字列表現を取得する

# -*- coding: utf-8 -*-

obj = 0.1

print str(obj)
print unicode(obj)
print repr(obj)
print `obj`

# クラスに特殊メソッド __str__ __unicode__ __repr__ を定義すると
# str() unicode() repr() の引数として渡すことが出来る
class A:
    def __str__(self):
        return "abc"
    def __unicode__(self):
        return u"abc"
    def __repr__(self):
        return "def"

a = A()

print str(a)

実行すると
0.1
0.1
0.10000000000000001
0.10000000000000001
abc

reprと``は同じ

詳細はドキュメントで

0 件のコメント:

コメントを投稿