您的位置:首页 > 编程语言 > Python开发

Python面向对象——内置对象的功能扩展

2018-04-11 19:57 483 查看

1.扩展Python内置类

Python的数据类型

列表(list)、字典(dict)、集合(set)、文件(file)、字符串(str),这些都是对象

扩展list的功能,详解如图:



我们给列表添加了新的功能,搜索功能,能够找出给定字符串是否在列表中,如果在列表中,就返回列表中的字符串。图解如下 :



扩展dict的功能,详解如图:





2.代码验证

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 著
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: