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 著
相关文章推荐
- 两篇文章掌握Python语法和内置函数功能(第二篇)
- python——内置对象
- 使用C++扩展Python的功能详解
- C#用扩展方法进行自动生成添加删除对象转换的功能
- 让主程序可以通过python脚本扩展功能及boost.python的使用
- 用C语言扩展Python的功能
- 利用prototype属性,对JavaScript对象进行功能扩展,比如数组对象Array,String等
- Python-类与对象-子类扩展父类属性
- python 面向对象进阶之内置方法
- 使用prototype扩展JS内部对象String的功能
- 18.python面对对象编程(一)—什么是面向对象,类和实例,访问限制
- Python已存在对象中如何添加额外功能
- 用C语言扩展Python的功能
- Dive in Python学习笔记五:对象和面向对象
- python 面向对象、类、对象
- 用C/C++对Python的功能进行扩展
- python内置对象之字典
- 用C语言扩展Python的功能
- 用C语言扩展Python的功能
- JSP有哪些内置对象,功能是什么