1
私はこのような何かやりたい:python:クラスのゲッターメソッドで文字列フォーマット演算子を使用できますか?
class Foo(object):
def __init__(self, name):
self._name = name
self._count = 0
def getName(self):
return self._name
name = property(getName)
def getCount(self):
c = self._count
self._count += 1
return c
count = property(getCount)
def __repr__(self):
return "Foo %(name)s count=%(count)d" % self.__dict__
が、name
とcount
はゲッターとプロパティであるので、それが動作しませんが。
これを修正する方法はありますか?名前付き引数を持つ書式文字列を使用してゲッターを呼び出せますか?
私はそれを行うことができますが、私はむしろフォーマットされた文字列で名前付き引数を使用したいと思います。私は2つではなく6つまたは7つのフィールドがあるケースがあり、リストとフォーマット文字列を同期させておくのは混乱します。 –
@ Jasonええ、残念ながら、これを行うには素晴らしい方法はありません。あなたが 'name'と' count'という名前でそれらにアクセスするには、プロパティにアクセスする必要があります。私はあなたがまだ名前の書式設定を使用することができるばかげた方法を追加しましたが、それはあなたのニーズに適しているかもしれませんが、そうではないかもしれません。 –
+1:それは幾分かっこいいです(あなたが言っているように "ばかげた"ですが、非常に簡単です)。ありがとう! –