复习

1.继承
表示什么是什么的关系
1.单继承
1.先抽象,再继承
2.子类没有的名字,调用父类
3.类中使用self,看清楚self指向谁
2.多继承
1.新式类和经典类
1.新式类:广度优先
经典类:深度优先
2.新式类中,使用mro查看继承顺序
使用super查找父类,按照mro顺序(python3)

学习内容

1.接口类
1.源自java; python原生不支持
2.支持多继承,接口类中的所有方法都必须不能实现——来自java习惯
3.接口隔离原则:
使用多个专门的接口,而不使用单一的总接口。即客户端不应该依赖那些不需要的接口。
4.规范类,需要某项功能,就继承某些类,规范使用相应功能
2.抽象类:
1.python原生支持
2.不支持多继承,抽象类中方法可以有一些代码的实现——java习惯
3.规范
单继承,能实现的功能都是一样的,所以在父类中可以有一些简单的基础
多继承,由于功能复杂,所以不容易抽象出相同的功能具体实现写在父类中
接口类和抽象类不能实例化
3.多态
1.python 天生支持多态
python 动态强类型语言
python 不崇尚根据继承所的来的相似
只是自己实现自己的代码
如果两个类相似,并不产生父类的子类的兄弟关系,而是鸭子类型
list tuple 通过代码,而非继承得来的,相似
优点:松耦合,每个相似的类之间没有影响
缺点:太随意
2.多态:一类事物有多种形态
4.封装
1.广义上面向对象封装:代码保护
面向对象的思想本身就是一种只让自己的对象能调用自己类中的方法
2.狭义上的封装——面向对象的三大特性之一
属性和方法放进黑箱
3.私有
对象的私有属性
类中的私有方法
类中的静态私有属性
所有的私有,都不能在类的外面调用

from abc import abstractclassmethod, ABCMeta
# 规范子类
class Payment(metaclass=ABCMeta):
@abstractclassmethod
def pay(cls,money):pass class Wechat(Payment):
def pay(self,money):
print('s')
c = Wechat() print(1>0<0)

python之路——25的更多相关文章

  1. 【python之路25】正则表达式

    一.正则表达式简介 就其本质而言,正则表达式(或RE)是一种小型的.高度专业化的(在python中),它内嵌在python中,并通过RE模块实现.正则表达式编译成一系列字节码,然后由用C编写的匹配引擎 ...

  2. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  3. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

  4. Python之路【第十七篇】:Django【进阶篇 】

    Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...

  5. Python之路【第十五篇】:Web框架

    Python之路[第十五篇]:Web框架   Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...

  6. Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy   Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...

  7. Python之路【第八篇】:堡垒机实例以及数据库操作

    Python之路[第八篇]:堡垒机实例以及数据库操作   堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient ...

  8. Python之路【第七篇】:线程、进程和协程

    Python之路[第七篇]:线程.进程和协程   Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  9. Python之路【第五篇】:面向对象及相关

    Python之路[第五篇]:面向对象及相关   面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否 ...

随机推荐

  1. 1--Test NG--常见测试和注解

    第一:注解 (1)@test (2)@BeforeMethod,@AfterMethod (3)@BeforeClass,@AfterClass (4)@BeforeSuite,@AfterSuite ...

  2. JVM学习二:垃圾收集(Garbage Collection,GC)机制

    JVM的GC分为两个主要部分,第一部分是判断对象是否已死(堆内存的垃圾回收占主要部分,方法区(metaspace)的内存回收在最新的官方文档中未给出详细解释,暂时不做讨论范围),第二部分是对内存区进行 ...

  3. Unity中对系统类进行扩展的方法

    Unity扩展系统类,整合简化代码 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  4. Unity 查找泛型List中的相同与不同数据

    Unity查找泛型集合中的不同数据 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  5. python 7

    一.数据类型的补充 1.元组 tu1 = ('大海') tu2 = ('大海',) print(tu1, type(tu1), tu2, type(tu2)) 大海 <class 'str'&g ...

  6. 软件测试_Fiddler抓包工具一

    多数资料摘抄至 https://www.cnblogs.com/miantest/p/7289694.html 一.在 macOS 下如何安装 (https://www.telerik.com/fid ...

  7. Favorite Donut(HDU 5442)最小表示法+二分

    题目给出一个字符串,由a~z表示甜度,随字典序增大,字符串首尾相连形成一个圈,要求从一个位置开始字典序最大的字符串,输出位置以及是顺时针还是逆时针表示.顺时针用0表示,逆时针用1表示. 此题只需要查找 ...

  8. Nopcommerce安装,应用及二次开发视频

    CSDN课程:http://edu.csdn.net/lecturer/944

  9. Beff的学习

    Beff介绍 BeEF,全称The Browser Exploitation Framework,是一款针对浏览器的渗透测试工具. 首先打开kali,直接点击beef图标打开beef 浏览器会默认弹出 ...

  10. Lambda表达式中的GroupBy使用的正确姿势

    本实例适用于:将记录中的数据进行分组得到一个一对多模型数据Model 案例中的Model 注:UserDetailes 包含User的信息和其所属部门信息 需求:将UserDetailes 的记录分组 ...