在 Python 中打印类对象列表

在 Python 中打印类对象列表

Print a list of class objects in Python

在类上定义__repr__()方法以打印类对象列表。__repr__()方法由repr()函数调用,并将为列表中的每个对象调用。

主程序
class Employee(): def __init__(self, name, salary): self.name = name self.salary = salary def __repr__(self): return self.name alice = Employee('Alice', 100) print(alice) # 👉️ Alice bob = Employee('Bobbyhadz', 100) print(bob) # 👉️ Bobbyhadz result = [alice, bob] print(result) # 👉️ [Alice, Bobbyhadz]

我们定义了__repr__()打印类对象列表的方法。

_
_ repr _ _
方法由函数调用,
通常
repr()用于获取字符串,该字符串可用于使用eval()函数重建对象。

确保从该方法返回一个字符串__repr__(),否则TypeError会引发 a。

如果您需要返回一个整数,请使用str()该类将其转换为字符串。

主程序
class Employee(): def __init__(self, name, salary): self.name = name self.salary = salary def __repr__(self): return str(self.salary) # 👈️ convert to string alice = Employee('Alice', 100) print(alice) # 👉️ Alice bob = Employee('Bobbyhadz', 100) print(bob) # 👉️ Bobbyhadz result = [alice, bob] print(result) # 👉️ [Alice, Bobbyhadz]

另一种方法是访问列表中每个项目的属性并打印结果。

主程序
class Employee(): def __init__(self, name, salary): self.name = name self.salary = salary alice = Employee('Alice', 100) bob = Employee('Bobbyhadz', 100) result = [alice, bob] # 👇️ ['Alice', 'Bobbyhadz'] print([obj.name for obj in result])

请注意,我们没有定义__repr__()方法。

我们使用列表理解来迭代对象列表。

列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们访问name对象的属性并返回结果。

最后一步是将列表传递给print()函数。

发表评论