咱們給列表添加了新的功能,搜索功能,可以找出給定字符串是否在列表中,若是在列表中,就返回列表中的字符串。圖解以下 :
python
class ContactList(list): def search(self, 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) c1 = Contact("john aa", "y@.net") c2 = Contact("john bb", "b@.net") c3 = Contact("john bb", "c@.net") [c.name for c in Contact.all_contacts.search("john")]
class LongNameDict(dict): def longest_key(self): longest = None for key in self: if not longest or len(key) > len(longest): longest = key return longest longkeys = LongNameDict() longkeys['AAA'] = 1 longkeys['BBBB'] = 12 longkeys['CCCCC'] = 'nihao' longkeys.longest_key()
參考:本文參考學習《Python3 Object Oriented Programming》,Dusty Phillips 著app