如果我在Python中有一个列表,其中包含具有类属性的对象,我如何打印对象的列表,而只打印特定的属性?
例如:
我有一个属性为NAME的对象,其中NAME = to Cat。我有另一个属性为NAME = to Dog的对象。
- 两个对象都在列表中,我想打印所有对象。NAME * only *
下面是一些示例代码(写得很差,但写得很快)
class play_object():
def __init__(self, weight, size, name):
self.weight = weight
self.size = size
self.name = name
objects = []
car = play_object(6, 10, "Car")
cat = play_object(0.5, 1, "Cat")
objects.append(car)
objects.append(cat)
print(objects)
这将输出:
[<__main__.play_object object at 0x000001D0714053D0>, <__main__.play_object object at 0x000001D0712ACF90>]
修订守则,使之:
print(objects.name)
输出中的结果:
Traceback (most recent call last):
File "C:/Users//AppData/Local/Programs/Python/Python311/Test2.py", line 15, in <module>
print(objects.name)
AttributeError: 'list' object has no attribute 'name'
那么,只打印列表中对象的选定属性的正确方法是什么呢?
2条答案
按热度按时间ubof19bj1#
当您创建car和cat作为play_object类的对象时,使用对象名称和属性来获取数据
不使用:
对象为列表
62lalag42#
首先你需要迭代列表中的元素,然后你需要打印对象的每个属性。
你的错误:你正在尝试获取列表的名称。但是你的对象有名称属性而不是列表。所以你需要打印对象的名称