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面向对象——内置对象的功能扩展相关推荐

  1. python面相对象编程指南_Python面向对象编程指南

    抽象是隐藏多余细节的艺术.在面向对象的概念中,抽象的直接表现形式通常为类.虽然Python是解释性语言,但是它是面向对象的,从设计之初就已经是一门面向对象的语言.Python基本上提供了面向对象编程语 ...

  2. python的类和对象_Python面向对象之类和对象实例详解

    本文实例讲述了Python面向对象之类和对象.分享给大家供大家参考,具体如下: 类和对象(1) 对象是什么? 对象=属性(静态)+方法(动态): 属性一般是一个个变量:方法是一个个函数: #类的属性 ...

  3. python oop求三角形面积公式_Python面向对象编程-OOP

    Python面向对象编程-OOP 20141216 Chenxin整理 OOP的3大特性: 封装,继承,多态 一.封装 OOP目的,OOP为了代码重用 :分解代码 ,最小化代码的冗余以及对现在的代码进 ...

  4. python中对象的特性_Python深入学习之对象的属性

    Python一切皆对象(object),每个对象都可能有多个属性(attribute).Python的属性有一套统一的管理方案. 属性的__dict__系统 对象的属性可能来自于其类定义,叫做类属性( ...

  5. python中迭代对象是什么_python中的迭代对象和迭代器

    一.什么是可迭代对象? 迭代是访问集合元素的一种方式.以直接作用于 for 循环的数据类型有以下几种:集合数据类型,如 list . tuple . dict . set . str 等: gener ...

  6. python 可迭代对象是什么_python中可迭代对象指的是什么

    python中可迭代对象指的是什么 发布时间:2020-07-20 11:19:38 来源:亿速云 阅读:91 作者:清晨 小编给大家分享一下python中可迭代对象指的是什么,相信大部分人都还不怎么 ...

  7. python内置对象是什么_Python的内置对象类型——元组、文件,python

    元组 元组是序列,但它具有不可变性,和字符串类似,它支持任意类型,任意嵌套以及常见的序列操作. 特点:任意对象的有序集合:通过偏移获取:属于不可变序列类型:固定长度,异构,任意嵌套,对象引用的数组. ...

  8. python自带time库吗_Python的内置库time

    工作中经常需要对时间进行获取,处理和格式化,我们可以使用Python内置的time库来解决这些问题. 时间戳 时间戳,表示从1970年1月1日0点0分0秒到现在的时间经过了多少秒. import ti ...

  9. python里面print是什么函数_python print()内置函数

    啦啦啦啦啦啦,我又来了,学习任何东西都得坚持,我一定的好好加油!!! 今天来说说print()函数,前边我们已经用过好好多次啦,现在来学习哈吧!!! Python的内置函数,print() print ...

  10. python 类可以调用实例变量_python面向对象中类对象、实例对象、类变量、实例变量、类方法、实例方法、静态方法...

    1. 类对象和实例对象 Python中一切皆对象,Python类本身也是一种对象,类定义完成后,会在当前作用域中定义一个以类名为名字的命名空间.类对象具有以下两种操作: 可以通过"类名()& ...

最新文章

  1. 第三天:Vue的组件化
  2. 《OpenCV3编程入门》学习笔记9 直方图与匹配(一二) 图像直方图概述直方图的计算与绘制
  3. 性能测试初学_loadrunner base64/md5 编码 解码
  4. 理解离散傅立叶变换(一)
  5. eclipse egit提交方法
  6. IDEA 引入传统 j2ee spring mvc
  7. linux dns 内网ip,Ubuntu中ip地址、网关、网络号、DNS等解释
  8. java解析字符串方法_java字符串的截取方法substring()代码解析
  9. groovy入门(2-1)Groovy的Maven插件安装:Plugin execution not covered by lifecycle configuration...
  10. Ubuntu14.04如何启用界面root账户登录
  11. java拼图游戏难度怎么分级_拼图游戏有什么技巧吗?
  12. jQuery插件库常用前端库引用地址详细提供
  13. Unity制作Roll-a-Ball游戏
  14. RK3328 编码H265问题
  15. 最新php开发学习资料网盘下载
  16. 计算机文件路径的表示
  17. 织梦cms模板下载:集团企业通用织梦模板
  18. EXCEL VBA案例教程-李立宗-专题视频课程
  19. Seata分布式事务控制整合Mybatis-Plus导致事务控制失效
  20. 【HBZ分享】突破微信支付系统--单秒600QPS这个上限

热门文章

  1. 使用tuned/tuned-adm工具动态调优你的CentOS系统
  2. zlib再windows下的编译
  3. 数据结构——第九章 查找
  4. dedecms联动筛选_织梦dedecms图片联动筛选教程
  5. java9之后,String为何从char类型数组转成byte类型数组
  6. java多线程tasks.add_Java多线程顺序执行
  7. 正点原子 潘多拉stlink驱动_「正点原子Linux连载」第五十六章Linux自带的LED灯驱动实验...
  8. css伪元素总结(内附实例)
  9. React 中setState更新state何时同步何时异步?
  10. WPF TreeView tools