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

2018-06-18 02:19:31来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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 著

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:初学Python——集合及其运算

下一篇:Python面向对象——基本继承