0

在下面的代码中,我需要打印联系人列表对象。我该怎么做?

# Test.py
class ContactList(list):
    def search(self, name):
        '''Return all contacts that contain the search value
        in their name.'''
        matching_contacts = []
        for contact in self:
            if name in contact.name:
                matching_contacts.append(contact)
        return matching_contacts


class Contact:
    all_contacts = ContactList()

    def __init__(self, name, email):
        self.name = name
        self.email = email
        self.all_contacts.append(self)

我创建了 2 个 Contact 对象,但想查看 all_contacts 列表中的所有元素。

4

1 回答 1

1

怎么样:

print(Contact.all_contacts)

或者:

for c in Contact.all_contacts:
    print("Look, a contact:", c)

要控制 Contact 的打印方式,您需要在 Contact 类上定义一个__str__or__repr__方法:

def __repr__(self):
    return "<Contact: %r %r>" % (self.name, self.email)

或者,但是您想代表联系人。

于 2012-06-12T17:57:43.710 回答