0

これは私のコードです。なぜうまくいかないのかわかりません。

class a:
    def __get__(self):
        return 'xxx'
    def aa(self):
        print 'aaaa'

b=a()
print b.get('aa')

私の英語はあまり上手ではないので、コードで答えてみてください。ありがとうございました。

class HideX(object):
    def __init__(self, x):
        self.x = x

    def get_x(self):
        return self.__x

    def set_x(self, x):
        self.__x = x+10

    x = property(get_x, set_x)

inst = HideX(20)
print inst.x
inst.x = 30
print inst.x
4

2 に答える 2

1

記述子を使用する前に、記述子についてもう少し読む必要があると思います。

于 2009-12-23T08:41:43.580 に答える
1

を呼び出しobj.getていますが、 に get 関数がないためclass A、エラーです。名前を に変更__get__するgetか、たまたま記述子を使用しようとしている場合は、次のようにします。

class A(object):
    def __get__(self, obj, klass):
        print "__get__", obj, klass
        return 'xxx'

class X(object):
    a = A()

x=X()
print x.a
于 2009-12-23T09:23:02.933 に答える