python内置对象的实现_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 著
python内置对象的实现_Python面向对象——内置对象的功能扩展相关推荐
- python面相对象编程指南_Python面向对象编程指南
抽象是隐藏多余细节的艺术.在面向对象的概念中,抽象的直接表现形式通常为类.虽然Python是解释性语言,但是它是面向对象的,从设计之初就已经是一门面向对象的语言.Python基本上提供了面向对象编程语 ...
- python的类和对象_Python面向对象之类和对象实例详解
本文实例讲述了Python面向对象之类和对象.分享给大家供大家参考,具体如下: 类和对象(1) 对象是什么? 对象=属性(静态)+方法(动态): 属性一般是一个个变量:方法是一个个函数: #类的属性 ...
- python oop求三角形面积公式_Python面向对象编程-OOP
Python面向对象编程-OOP 20141216 Chenxin整理 OOP的3大特性: 封装,继承,多态 一.封装 OOP目的,OOP为了代码重用 :分解代码 ,最小化代码的冗余以及对现在的代码进 ...
- python中对象的特性_Python深入学习之对象的属性
Python一切皆对象(object),每个对象都可能有多个属性(attribute).Python的属性有一套统一的管理方案. 属性的__dict__系统 对象的属性可能来自于其类定义,叫做类属性( ...
- python中迭代对象是什么_python中的迭代对象和迭代器
一.什么是可迭代对象? 迭代是访问集合元素的一种方式.以直接作用于 for 循环的数据类型有以下几种:集合数据类型,如 list . tuple . dict . set . str 等: gener ...
- python 可迭代对象是什么_python中可迭代对象指的是什么
python中可迭代对象指的是什么 发布时间:2020-07-20 11:19:38 来源:亿速云 阅读:91 作者:清晨 小编给大家分享一下python中可迭代对象指的是什么,相信大部分人都还不怎么 ...
- python内置对象是什么_Python的内置对象类型——元组、文件,python
元组 元组是序列,但它具有不可变性,和字符串类似,它支持任意类型,任意嵌套以及常见的序列操作. 特点:任意对象的有序集合:通过偏移获取:属于不可变序列类型:固定长度,异构,任意嵌套,对象引用的数组. ...
- python自带time库吗_Python的内置库time
工作中经常需要对时间进行获取,处理和格式化,我们可以使用Python内置的time库来解决这些问题. 时间戳 时间戳,表示从1970年1月1日0点0分0秒到现在的时间经过了多少秒. import ti ...
- python里面print是什么函数_python print()内置函数
啦啦啦啦啦啦,我又来了,学习任何东西都得坚持,我一定的好好加油!!! 今天来说说print()函数,前边我们已经用过好好多次啦,现在来学习哈吧!!! Python的内置函数,print() print ...
- python 类可以调用实例变量_python面向对象中类对象、实例对象、类变量、实例变量、类方法、实例方法、静态方法...
1. 类对象和实例对象 Python中一切皆对象,Python类本身也是一种对象,类定义完成后,会在当前作用域中定义一个以类名为名字的命名空间.类对象具有以下两种操作: 可以通过"类名()& ...
最新文章
- 第三天:Vue的组件化
- 《OpenCV3编程入门》学习笔记9 直方图与匹配(一二) 图像直方图概述直方图的计算与绘制
- 性能测试初学_loadrunner base64/md5 编码 解码
- 理解离散傅立叶变换(一)
- eclipse egit提交方法
- IDEA 引入传统 j2ee spring mvc
- linux dns 内网ip,Ubuntu中ip地址、网关、网络号、DNS等解释
- java解析字符串方法_java字符串的截取方法substring()代码解析
- groovy入门(2-1)Groovy的Maven插件安装:Plugin execution not covered by lifecycle configuration...
- Ubuntu14.04如何启用界面root账户登录
- java拼图游戏难度怎么分级_拼图游戏有什么技巧吗?
- jQuery插件库常用前端库引用地址详细提供
- Unity制作Roll-a-Ball游戏
- RK3328 编码H265问题
- 最新php开发学习资料网盘下载
- 计算机文件路径的表示
- 织梦cms模板下载:集团企业通用织梦模板
- EXCEL VBA案例教程-李立宗-专题视频课程
- Seata分布式事务控制整合Mybatis-Plus导致事务控制失效
- 【HBZ分享】突破微信支付系统--单秒600QPS这个上限
热门文章
- 使用tuned/tuned-adm工具动态调优你的CentOS系统
- zlib再windows下的编译
- 数据结构——第九章 查找
- dedecms联动筛选_织梦dedecms图片联动筛选教程
- java9之后,String为何从char类型数组转成byte类型数组
- java多线程tasks.add_Java多线程顺序执行
- 正点原子 潘多拉stlink驱动_「正点原子Linux连载」第五十六章Linux自带的LED灯驱动实验...
- css伪元素总结(内附实例)
- React 中setState更新state何时同步何时异步?
- WPF TreeView tools