Python量化交易知识站Python · JoinQuant · Backtest · Factors

Chapter · 第 156 页起

第8章 Python面向对象的程序设计

章节主张

第八章把代码组织从函数进一步推向类、模块和包,为后续更完整的策略工程做准备。

中文释读

不是每个量化初学者都要写复杂类层级,但理解类、模块和包,能帮助你读懂平台代码与成熟库结构。

这章真正给的是工程意识,而不是语法炫技。

本章知识路线

关键论据

  • 面向对象有助于组织复杂状态。
  • 模块和包帮助代码分层。
  • 标准模块意识会直接提升开发效率。

行动清单

  • 先会拆模块,再决定要不要建类。
  • 理解 import 和标准模块。
  • 把代码组织意识放进策略脚本。

本章图版学习路径

图版按知识点分组,用来把理论页、平台页和代码页重新接上。

源章节深读

以下卡片基于章节和小节起始页 OCR,并补上“问题、动作、提醒”三层解读。

8.1 面向对象

Python 量化交易实战入门与技巧 8.1 面向对象 Python 从设计之初就已经是一门面向对象的语言,所以在Python 中创 建一个类和对象是很容易的。 8.1.1 面向对象概念 面向对象概念主要有9个,具体如下: 1. 类(Class) 类(Class)用来描述具有相同的属性和方法的对象的集合。它定义了该集 合中每个对象所共有的属性和方法。对象是类的实例。 2. 类变量 类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体 之外。类变量通常不作为实例变量使用。 3. 数据成员 数据成员,即类变量或者实例变量,是用于处理类及其实例对象的相关 的数据。 4. 方法重写 如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个 过程称为方法的覆盖(override),也称为方法的重写。 5.实例变量 实例变量是定义在方法中的变量,只作用于当前实例的类。

这节解决什么问题:这一节解决平台或策略里不同对象分别承载什么状态。
怎么用到自己的系统:适合建立对象字典:知道每个对象在策略生命周期里负责什么。
常见错误:不要在没理解对象含义时直接抄调用代码。

8.2 模块

第8章 Python 面向对象的程序设计 用的是在括号中排在前面父类的方法,即 speaker 类中的speak()方法。 单击菜单栏中的“Run/Run Module” 命令或按下键盘上的“F5”,就 可以运行程序代码,结果如图8.4所示。

这节解决什么问题:这一节在补这一章的关键能力模块。
怎么用到自己的系统:适合把它放回本章主线,理解它在量化学习系统里的位置。
常见错误:不要孤立记忆这一节的术语和代码片段。

8.3 包

第8章 Python 面向对象的程序设计 print("没有压缩之前的长度和压缩之后的长度:",len (b'witch which has which witches wrist watch!'),len (21ib.compress (b'witch which has which witches wrist watch!'))) 单击菜单栏中的“Run/Run Module”命令或按下键盘上的“F5” ’,就 可以运行程序代码,结果如图8.9所示。

这节解决什么问题:这一节在补这一章的关键能力模块。
怎么用到自己的系统:适合把它放回本章主线,理解它在量化学习系统里的位置。
常见错误:不要孤立记忆这一节的术语和代码片段。
辨析题:为什么量化初学者也要懂模块和包?

因为后面大量策略、数据和库调用都建立在模块化结构上,不懂就只能机械复制代码。