美文网首页
面向对象(六)

面向对象(六)

作者: qianranow | 来源:发表于2018-05-15 13:18 被阅读45次

0. 元类


  • 概念:用来 创建 类对象
    num = 10
    print(num.__class__)
    print(num.__class__.__class__)
    s = "abc"
    print(s.__class__)
    print(s.__class__.__class__)
    class Person:
        pass
    p = Person()
    print(p.__class__)
    print(p.__class__.__class__)
    
  • 创建类对象
    def play(self, ball):
        print("在打球", self, ball)
    Person = type("Person", (), {"count": 100, "play": play})
    print(Person)
    print(Person.__dict__)
    p = Person()
    print(p)
    p.play("篮球")
    
    结构图.png
  • 类对象创建流程
    1. 检测类中是否有明确 __metaclass__ 属性;
       如果有, 则通过指定元类来创建这个类对象
    2. 检测父类中是否存在 __metaclass__ 属性;
       如果有, 则通过指定元类来创建这个类对象
    3. 检测模块中是否存在 __metaclass__ 属性;
       如果有, 则通过指定元类来创建这个类对象
    4. 通过内置的 type 这个元类, 来创建这个类对象
    
    查找机制.png
  • 应用场景
    1. 拦截类的创建
    2. 修改类
    3. 返回修改之后的类
    

1. 类描述


  • 描述方式
    1. 形式
       (1)直接在类的下方, 使用三个双引号对描述
       (2)需要注明类的作用, 以及类属性描述
       (3)方法描述和函数描述一样
    
    2. 示例
       class Person:
           """
           关于这个类的描述, 类的作用, 类构造函数, 类属性等等
           Attributes:
               count: int 代表人的个数
           """
           count = 100
           def play(self, ball):
               """
               这个方法的作用效果
               :param ball: 参数含义, 参数类型, 是否可选, 是否有默认值
               :return: 返回结果含义, 返回结果数据类型
               """
    
  • 生成项目文档
    1. 使用内置模块 pydoc
       (1) 查看文档描述:python3 -m pydoc 模块名称
       (2) 启动本地服务, 浏览文档: python3 -m pydoc -b
       (3) 生成指定模块 html 文档: python3 -m pydoc -w 模块名称
    
    2. 使用第三方模块
       (1) Sphinx
       (2) epydoc
       (3) doxygen
    

相关文章

  • 第七篇 面向对象编程

    一、复习 二、time模块的补充 三、面向对象 四、初始面向对象和类 五、面向对象之间的交互 六、面向对象的组合 ...

  • 面向对象(六)

    0. 元类 概念:用来 创建 类对象 的 类num = 10print(num.__class__)print(n...

  • 面向对象 六

    目录 1.元类 1.1 类创建过程 1.2 元类控制类的创建 1.3 元类控制类的创建过程案例 1.4 自定义元...

  • 面向对象编程

    面向对象编程 一、面向对象和面向过程 二、类和对象 三、内存图 四、构造方法 五、关键字 六、面向对象的三大特征 ...

  • Android 设计模式之常见设计模式总结

    今天我们来总结下我们所学习的设计模式 面向对象的六大原则 Android 设计模式之面向对象的六大原则 面向对象的...

  • 面向对象六大原则

    面向对象六大设计原则:

  • Python简明教程第7节:面向对象(一)

    第六步尚未完成,先看第七步好了。 面向对象 面向对象是一种编程思想,是相对于面向过程而言的。 简单来说,面向对象的...

  • 【Java】基础篇之类与对象、封装、构造方法-006

    第六章 类与对象、封装、构造方法 6.1 面向对象思想 6.1.1 面向对象思想概述 1.概述 Java语言是一...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

网友评论

      本文标题:面向对象(六)

      本文链接:https://www.haomeiwen.com/subject/ofvedftx.html