python - 将 python 变量附加到列表时,我得到对象值

标签 python

print("Device discovered: %s" % remote)
m.append(remote)
print(m) 

我得到以下结果。我怎样才能获得与列表名称 m 相同的值

Device discovered: 0013A20041481642 - REMOTE
[<digi.xbee.devices.RemoteZigBeeDevice object at 0x7f42c312ceb8>]

最佳答案

列表内容使用repr()所包含对象的结果,依次使用 __repr__对象上的方法。

print()将对象转换为 str() ,它将使用 __str__方法(如果存在)__repr__否则。

remote对象(digi.xbee.devices.RemoteZigBeeDevice实例)只有一个__str__方法,没有 __repr__方法。实现后者来自定义对象在列表中的显示方式。

或者,打印列表中的所有单独值:

print(*m)

然后将它们用空格分隔,使用 sep='...'指定不同的分隔符。

或者您可以在打印之前将列表中的所有对象转换为字符串:

print([str(obj) for obj in m])

并打印字符串列表。

关于python - 将 python 变量附加到列表时,我得到对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47273343/

相关文章:

python - 将列堆叠为一个新的数据框

c# - 如何修复Python float 指数结果

python - NumPy - 实现阈值上限的更快方法

python - Python 的logging.getLogger 是否可以通过许多命名记录器进行扩展?

Java <-> Python : share objects

python - 通过小于运行列表以生成更短的列表 python

python - 比较Python中集合之间的相似度

python - 如何在 Python 3 中使用过滤器、映射和归约

python - 如何使用 Streaming API 通过 Twitter 跟踪 400 个关键字?

Python 字符串方法难题