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 回答