5

プロパティhttp://docs.python.org/library/functions.html#propertyをオブジェクト (クラスの特定のインスタンス)に追加できるようにしたいと考えています。これは可能ですか?

Python でのダック パンチング/モンキー パッチングに関するその他の質問:

既存のオブジェクト インスタンスへのメソッドの追加

Python: 実行時にメソッドと属性を変更する

更新:コメントでデルナンが回答

Pythonで@propertyを動的に追加する

4

2 に答える 2

3

次のコードは機能します:

#!/usr/bin/python

class C(object):
    def __init__(self):
        self._x = None

    def getx(self):
        print "getting"
        return self._x
    def setx(self, value):
        print "setting"
        self._x = value
    def delx(self):
        del self._x
    x = property(getx, setx, delx, "I'm the 'x' property.")

s = C()

s.x = "test"
C.y = property(C.getx, C.setx, C.delx, "Y property")
print s.y

しかし、私はあなたがそれをすべきかどうかわかりません。

于 2011-03-24T07:15:02.750 に答える