Python获取属性值

2024-07-07 07:43:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python 2代码:

class VKHandshakeChecker:

    def __getAnswers(self):
        return self.__answers

    def __getStatus(self):
        return self.__status    

    def __init__(self,vkapi,maxDepth=6):
        isinstance(vkapi,VKApi.VKApi)
        self.vkapi = vkapi
        self.__maxDepth=maxDepth
        self.__answers = list()
        self.__status = 'IDLE'
        self.status = property(VKHandshakeChecker.__getStatus)
        self.answers = property(VKHandshakeChecker.__getAnswers)

我想得到answers属性。但是当我执行这个代码时:

^{pr2}$

我得到<property object at 0x02B55450>,而不是{}。为什么?在


Tags: 代码selfreturninitdefstatuspropertyclass
1条回答
网友
1楼 · 发布于 2024-07-07 07:43:51

不能在实例上放置描述符(比如property对象)。你可以在课堂上使用它们。在

只需使用property作为装饰:

class VKHandshakeChecker:
    @property
    def answers(self):
        return self.__answers

    @property
    def status(self):
        return self.__status    

    def __init__(self,vkapi,maxDepth=6):
        self.vkapi = vkapi
        self.__maxDepth=maxDepth
        self.__answers = list()
        self.__status = 'IDLE'

我删除了isinstance()表达式,它不做任何事情,因为您忽略了函数调用的返回值。在

相关问题 更多 >