介绍挑战

案例研究:用 Python 构建软件

Mark Pedigo, PhD

Principal Data Scientist

什么是案例研究?

  • 将现有技能用于真实问题
  • 先修课程
    • Python 软件工程原理
    • Python 面向对象进阶

两人在会议中讨论案例研究

案例研究:用 Python 构建软件

案例研究情景

为新房确定按揭

  • PyBank Financial 的贷款专员
  • 构建程序以
    • 确定可购房预算
    • 计算月供
  • 免责声明:仅作示例

loan_officer.jpg

案例研究:用 Python 构建软件

行动计划

  • 用软件自动计算
  • 采用基于类的软件工程原则
  • 阶段
    • 基础计算器
      • +-*/**
    • 金融计算器
      • 计算利息、利率
    • 按揭计算器
      • 计算贷款额、还款额

三个计算器,尺寸逐渐增大

案例研究:用 Python 构建软件

继承

在类之间重用代码

  • 子类(FinancialCalculator)继承父类(BasicCalculator)的全部功能
  • 子类可实现额外功能
class BasicCalculator:
    def multiply(self, x, y):
        result = x * y
        return result
  ...
# Child of BasicCalculator
class FinancialCalculator(BasicCalculator):
    def months_from_years(self, years):
        # Inherits the .multiply() method
        return self.multiply(years, 12)
    ...
案例研究:用 Python 构建软件

软件工程原则回顾

  • 模块化、整洁、可读、高效的代码
    • 继承、方法
  • 利用可复用的库、框架、现成方案
    • 修改既有代码
    • 精简开发
  • 清晰的文档、注释、使用指南
    • 文档
  • 测试
    • doctest 与单元测试

一台电脑,周围有代表软件工程的图标

案例研究:用 Python 构建软件

路线图

展示项目不同部分的路线图。

案例研究:用 Python 构建软件

开始构建!

案例研究:用 Python 构建软件

Preparing Video For Download...