私は、.format()を使用したPython文字列フォーマットがプロパティを正しく使用するという印象を受けました。代わりに、文字列フォーマットされているオブジェクトのデフォルトの動作を取得します。
>>> def get(): return "Blah"
>>> a = property(get)
>>> "{a}!".format(a=a)
'<property object at 0x221df18>!'
これは意図された動作ですか?もしそうなら、プロパティの特別な動作を実装するための良い方法は何ですか(たとえば、上記のテストは代わりに「Blah!」を返します)?