首页 > 解决方案 > 如何在python中打印班级成员的数据?

问题描述

我有

class CanIdPropType:
    def __init__(self):
        self.arbitration_id = None
        self.dlc = 0
        self.data = {}
        self.timestamp = ""

def Receive():
  CanMessage = CanIdPropType()
  print('CanMessage',CanMessage)

在上面的代码中,我试图打印“CanMessage”,但它正在打印类的地址。我想在不使用波纹管格式的情况下打印类成员值: CanMessage.dlc, CanMessage.data

标签: pythonpython-3.xclass

解决方案


您可以通过重写方法来更改对象的默认表示__repr__方式。

例如:

class CanIdPropType:
    def __init__(self):
        self.arbitration_id = None
        self.dlc = 0
        self.data = {}
        self.timestamp = ""

    def __repr__(self):
        return f"<CanIdPropType: {self.arbitration_id}, {self.dlc}>"

推荐阅读