【发布时间】:2018-06-29 16:09:34
【问题描述】:
我是 Python 中的 OOP 新手,正在研究继承概念。我遇到了以下代码:
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)
我想知道为什么我们使用self.all_contacts.append(self) 以及for contact in self 是如何工作的?如果我理解正确,self 指定一个类(对象)的实例,并且附加到一个列表对我来说并非易事。
【问题讨论】: