zoukankan      html  css  js  c++  java
  • Python面向对象——内置对象的功能扩展

    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 著

  • 相关阅读:
    android阅读器开发
    Android开源库
    Android开源项目分类汇总
    java 读取显示txt内容(Swing)
    Java 图形用户界面设计 (Swing)
    Java读取txt文件,换行写txt文件
    出国旅行口语必备300句
    100-days:nine
    100-days: eight
    The Attention Merchants
  • 原文地址:https://www.cnblogs.com/brightyuxl/p/8798238.html
Copyright © 2011-2022 走看看