接上一篇 [Python3] 023 面向对象 第三弹

11. 类和对象的三种方法

  • 实例方法

    • 需要实例化对象才能使用的方法
    • 通过对象访问
  • 静态方法
    • 不需要实例化
    • 通过类直接访问
  • 类方法
    • 不需要实例化
  • 挖坑
    • 三个方法具体区别
    • 坑号编码:Py024-1

12. 抽象类

12.1 抽象方法

  • 概念:没有具体实现内容的方法称为抽象方法
  • 主要意义:规范了子类的行为和接口

12.2 抽象类

  • 包含抽象方法的类叫抽象类
  • 通常称为 ABC 类

12.3 抽象类的使用

  • 需要借助 abc 模块

    import abc

  • 抽象类可以包含抽象方法,也可以包含具体方法
  • 抽象类中可以有方法也可以有属性
  • 抽象类不允许直接实例化
  • 必须继承才可以使用,且继承的子类必须实现所有继承来的抽象方法
  • 如果子类没有实现所有继承来的抽象方法,则该子类不能实例化
  • 抽象类的主要作用是设定类的标准,以便开发时具有统一的规范

13. 自定义类

  • 类其实是一个类定义和各种方法的自由组合
  • 可以定义类和函数,然后自己通过类直接赋值
  • 可以借助于 MethodType 实现
    • 挖坑

      • 举个例子
      • 坑号编码:Py024-2
  • 借助于 type 实现
    • 挖坑

      • 举个例子
      • 坑号编码:Py024-3
  • 利用元类实现 MetaClass
    • 元类是类
    • 备用来创造别的类
    • 挖坑
      • 举个例子
      • 坑号编码:Py024-4

此为听 北京图灵学院的 Python3 公开课 所记笔记

[Python3] 024 面向对象 第四弹的更多相关文章

  1. [Python3] 023 面向对象 第三弹

    目录 7. 类相关函数 8. 类的成员描述符(属性) 9. 类的内置属性 10. 类的常用魔术方法 10.1 操作类 10.2 描述符 10.3 属性操作 10.4 运算分类相关魔术方法 接上一篇 [ ...

  2. Python3 学习第十四弹: 模块学习六之re模块 + 正则表达式 (转)

    本文转自 AstralWind 的博客:Python正则表达式指南 特来收藏 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有 ...

  3. [Python3] 022 面向对象 第二弹

    目录 6. 面向对象的三大特性 6.1 封装 6.1.1 私有 private 6.1.2 受保护 protected 6.1.3 公开 public 6.2 继承 6.2.1 继承的概念与作用 6. ...

  4. 前端学习 第四弹: HTML(一)

    前端学习 第四弹: HTML(一) 元素分类:块元素 内联元素 块级元素在浏览器显示时,通常会以新行来开始(和结束). 例子:<h1>, <p>, <ul>, &l ...

  5. 从零开始学习PYTHON3讲义(十四)写一个mp3播放器

    <从零开始PYTHON3>第十四讲 通常来说,Python解释执行,运行速度慢,并不适合完整的开发游戏.随着电脑速度的快速提高,这种情况有所好转,但开发游戏仍然不是Python的重点工作. ...

  6. python3.4学习笔记(四) 3.x和2.x的区别,持续更新

    python3.4学习笔记(四) 3.x和2.x的区别 在2.x中:print html,3.x中必须改成:print(html) import urllib2ImportError: No modu ...

  7. 『PyTorch』第四弹_通过LeNet初识pytorch神经网络_下

    『PyTorch』第四弹_通过LeNet初识pytorch神经网络_上 # Author : Hellcat # Time : 2018/2/11 import torch as t import t ...

  8. jQuery 关于IE9上传文件无法进入后台问题的原因及解决办法(ajaxfileupload.js第四弹)

    第四弹的诞生完全不在自己最初的计划之中,是有个网友看了先前关于<ajaxfileupload.js系列>的文章后提出的问题,由于自己一直是用chrome浏览器去测试demo,完全忽略IE浏 ...

  9. 模式匹配第四弹:if case,guard case,for case

    2016-06-06 7388 作者:Olivier Halligon,原文链接,原文日期:2016-05-16 译者:walkingway:校对:Cee:定稿:numbbbbb 现在我们来重新回顾下 ...

随机推荐

  1. SSH学习笔记(二)

    # 1. 关于 SSH Server 的整体设定,包含使用的 port 啦,以及使用的密码演算方式 Port 22 # SSH 预设使用 22 这个 port,您也可以使用多的 port ! # 亦即 ...

  2. vue.js(18)--父组件向子组件传值

    子组件是不能直接使用父组件中数据的,需要进行属性绑定(v-bind:自定义属性名=“msg”),绑定后需要在子组件中使用props[‘自定义属性名’]数组来定义父组件的自定义名称. props数组中的 ...

  3. sqli(9)

    less9--基于时间的GET单引号盲注 前言 重写博客是为了赶作业,现在已经下定决心考研了.以后这个博客只会记录我的数学.英语.数据结构学习记录了.我还是 想使劲冲一把,但是最近羁绊太多.很多作业( ...

  4. Taro -- 微信小程序登录

    Taro微信小程序登录 1.调用Taro.login()获取登录凭证code: 2.调用Taro.request()将code传到服务器: 3.服务器端调用微信登录校验接口(appid+appsecr ...

  5. javaweb各种框架组合案例(六):springboot+spring data jpa(hibernate)+restful

    一.介绍 1.springboot是spring项目的总结+整合 当我们搭smm,ssh,ssjdbc等组合框架时,各种配置不胜其烦,不仅是配置问题,在添加各种依赖时也是让人头疼,关键有些jar包之间 ...

  6. lvm分区创建和扩容

    shell> fdisk /dev/xvdb #### 选择磁盘 Command (m for help): m #### 帮助 Command action a toggle a bootab ...

  7. 解决nginx proxy_pass反向代理cookie,session丢失的问题

    参考地址:https://www.jianshu.com/p/34abe7eb6f0b 为什么cookie 会丢失? 比如说一个没有经过代理的地址 : http://127.0.0.1/project ...

  8. alert(1) to win 7

    function escape(s) { // Pass inn "callback#userdata" var thing = s.split(/#/); if (!/^[a-z ...

  9. Task5.NB_SVM_LDA

    参考:https://blog.csdn.net/u013710265/article/details/72780520 贝叶斯公式就一行: P(Y|X)=P(X|Y)P(Y)P(X) 而它其实是由以 ...

  10. redis下载及安装教程

    https://blog.csdn.net/w546097639/article/details/88547486