我正在尝试遍历存储在名为 User
的 Python 列表中的 myusers
对象,然后打印每个对象。这就是我所做的:
class User:
def __init__(self,name,age):
self.name = name
self.age = age
myusers= [User("Fred", "30"), User("Doe", "20")]
for i in range(2):
print(str(myusers[i]))
我从上面得到的是内存位置如下:
<__main__.User object at 0x000001FD807B4250>
<__main__.User object at 0x000001FD807F13A0>
但是,我希望得到:
User("Fred", "30")
User("Doe", "20")
我见过这个问题:https://stackoverflow.com/questions/59115308/print-out-objects-stored-in-a-list
但它没有回答我的问题,因为我在打印函数中使用了 str。当我没有得到这个值时,谁能告诉我?
答案 0 :(得分:1)
如评论中所述,您应该定义一个 __str__
方法,该方法定义如何将您的对象表示为字符串。
class User:
def __init__(self,name,age):
self.name = name
self.age = age
def __str__(self):
return f'User("{self.name}", "{self.age}")'
myusers= [User("Fred", "30"), User("Doe", "20")]
for i in range(2):
print(myusers[i])