微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在python中访问类成员数组 如果没有文档怎么办?

如何解决如何在python中访问类成员数组 如果没有文档怎么办?

我有一个班级成员。如何访问遥感器温度的“值”?这是pyecobee模块对ECOBEE温控器的响应。

我尝试了thermostat_response.thermostatList,但它给了我错误消息“ AttributeError:'EcobeeThermostatResponse'对象没有属性'thermostatList'”

我可以访问thermostat_response.pagethermostat_response.status,但不能访问thermostat_response.thermostatList

thermostat_response = EcobeeThermostatResponse(
  page=Page(
    page=1,pageSize=1,total=1,totalPages=1
  ),status=Status(
    code=0,message=
  ),thermostatList=[
    Thermostat(
      alerts=None,modelNumber=athenaSmart,reminders=None,remoteSensors=[
        RemoteSensor(
          capability=[
            RemoteSensorCapability(
              id=1,type=temperature,value=717
            ),RemoteSensorCapability(
              id=2,type=occupancy,value=true
            )
          ],code=EDGJ,id=rs:100,inUse=False,name=bedroom,type=ecobee3_remote_sensor
        ),RemoteSensor(
          capability=[
            RemoteSensorCapability(
              id=1,value=696
            ),type=humidity,value=62
            ),RemoteSensorCapability(
              id=3,code=None,id=ei:0,inUse=True,name=Living Room,type=thermostat
        )
      ],runtime=None,weather=None
    )
  ]
)

这是EcobeeThermostatResponse类的定义

class EcobeeThermostatResponse(EcobeeStatusResponse):
    __slots__ = ['_page','_thermostat_list']

    attribute_name_map = {'page': 'page','thermostat_list': 'thermostatList','thermostatList': 'thermostat_list','status': 'status'}

    attribute_type_map = {'page': 'Page','thermostat_list': 'List[Thermostat]','status': 'Status'}

    def __init__(self,page,thermostat_list,status):
        """
        Construct a EcobeeThermostatResponse instance

        :param page: The page information for the response
        :param thermostat_list: The list of thermostats returned by the request
        :param status: The api response code
        """
        self._page = page
        self._thermostat_list = thermostat_list
        EcobeeStatusResponse.__init__(self,status)

    @property
    def page(self):
        """
        Gets the page attribute of this EcobeeThermostatResponse instance.

        :return: The value of the page attribute of this EcobeeThermostatResponse instance.
        :rtype: Page
        """
        return self._page

    @property
    def thermostat_list(self):
        """
        Gets the thermostat_list attribute of this EcobeeThermostatResponse instance.

        :return: The value of the thermostat_list attribute of this EcobeeThermostatResponse instance.
        :rtype: List[Thermostat]
        """
        return self._thermostat_list

解决方法

根据documentation,您可以使用thermostat_response.thermostat_list()(作为函数)。


如果没有文档怎么办?

万一遇到类似问题并且没有文档,可以使用Python的dir()输出对象的所有属性,例如在您的情况下:

`dir(thermostat_response)`

有关this SO question中的详细信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?