【发布时间】:2020-04-23 10:19:18
【问题描述】:
为了知识起见,想打印这段代码的类属性列表all_contacts的内容:
class Contact:
all_contacts = []
def __init__(self,name,email):
self.name = name
self.email = email
Contact.all_contacts.append(self)
但是,我所有的尝试都会导致内存地址:
>>> c = Contact("Some Body", "somebody@example.net")
>>> c2 = Contact("Some Body 2", "somebody2@example.net")
>>> Contact.all_contacts
[<__main__.Contact object at 0x0000000002C8CF48>]
>>> print(Contact.all_contacts)
[<__main__.Contact object at 0x0000000002C8CF48>]
>>> c.all_contacts
[<__main__.Contact object at 0x0000000002C8CF48>]
如何打印这个类属性以便查看它的元素?
【问题讨论】:
-
您正在打印它。您将
self添加到all_contacts和Contact,打印时为<__main__.Contact object at 0x0000000002C8CF48>,因为您没有为Contact定义__str__或__repr__。请注意输出周围的[],表明它正在打印一个列表。