gpt4 book ai didi

Python:获取属性值

转载 作者:太空宇宙 更新时间:2023-11-04 10:33:26 27 4
gpt4 key购买 nike

我有这个 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属性(property)。但是当我执行这段代码时:

checker = VKHandshakeChecker.VKHandshakeChecker(api)
print(checker.status)

我得到 <property object at 0x02B55450> , 不是 IDLE .为什么?

最佳答案

您不能在实例上放置描述符(如 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() 表达式,它不会执行任何操作,因为您忽略了函数调用的返回值。

关于Python:获取属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24999242/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com