Skip to content

Latest commit

 

History

History
204 lines (138 loc) · 4.73 KB

062-188730-主控程序_main_工业化_分工细化.sy.md

File metadata and controls

204 lines (138 loc) · 4.73 KB
show version enable_checker
step
1.0
true

主控程序

回忆上次内容

  • 上次把 fruit.py 拆分成了
    • 输入模块 get_fruits.py
    • 主模块 output.py
  • 引用模块中变量的时候
    • from 模块(module)的名字空间(namespace)
      • import 了 a和b
  • 最终
    • 拆分代码 成功!
  • 拆成
    • 输入模块
    • 输出模块

图片描述

  • 可以将程序 再拆分 吗?

    • 拆成 主控、输入、输出三部分
    • 可以吗?🤔
  • 什么是主控模块呢?

主控模块

  • 就像一个电视遥控器

图片描述

  • 或者说 一个核心的中控室

图片描述

  • 就像 主神经中枢
    • 是 一切汇总的 地方
    • 管理着 具体的 步骤

建立主控

  • 来建立一个主控程序
    • 在vim中
:e main.py
  • 新建一个 main.py 文件
    • 导入 get_fruits、output 两个包
    • 然后运行

图片描述

运行

图片描述

  • 运行成功

  • 我们跳出具体文件

    • 去观察文件夹结构

文件结构

  • 可以看到
    • 出现了两个被引用包的 pyc 文件

图片描述

  • 位于__pycache__文件夹中

顺序过程

  • 其实被引用的功能代码
    • 可以分成三块
      • 输入(数据抓取获得)
      • 处理(数据清洗处理)
      • 输出(数据呈现展示)

图片描述

  • 这是个 面向过程的 程序
    • 面向过程就是 Procedure Oriented
    • 按部就班
      • 把复杂的过程
        • 分解成 相对简单明确的模块
      • 每个模块 做自己简单明确的事情
      • 专业分工
      • 提高效率
  • 这是工业时代
    • 提高效率的思维模式

工业化

以福特公司为代表的建立在流水线分工基础上的劳动组织方式和大批量生产模式,极大地提高了劳动生产率,也部分地提高了工人的工资水平和福利待遇,从而使整个社会的消费水平有了大幅度提高。

图片描述

Workers in a Ford Motor Company factory construct a Model T engine on an assembly line about 1914.

  • 铁路警察
    • 各管一段

工业化体系

图片描述

  • 分工细化 造就了
    • 摩登时代
    • 学科体系
    • 医院科室

分工明确

  • 编程名言 “不要想着怎么重新发明轮子”
    • 轮子有现成的
    • 拿来用就完事了

图片描述

  • 接下来
    • 我们要把模块分成三块
功能 作用 模块名
输入 接收到什么信号 get_fruits
处理 怎么处理信号 process
输出 最终输出什么信号 output

具体步骤

  • 三步走
vi main.py get_fruits.py process.py output.py

图片描述

get_fruits process output
输入水果数量 对水果数量求和 输出最终结果

具体文件

  • main

    • 主控程序
    • 需要导入 3 个 包
    • 然后依次执行
  • get_fruits

    • 输入模块
    • 虽然被main和process导入了两次
    • 但是 输入数值的部分
      • 只被执行一次
  • process

    • 导入 get_fruits 模块后
    • 进行对 模块中的a和b
      • 进行求和操作

图片描述

  • output
    • 不需要导入 get_fruits 模块
    • 导入 process 模块
      • 得到 求和的结果 process.total

图片描述

测试结果

图片描述

  • 回到main.py

整体结构

  • 这个结构就是
    • 典型的面向过程程序设计方法

图片描述

  • 有一个主要的流程控制模块 main.py

总结

  • 我们细化了主控程序(main.py)
    • 将程序分成三个具体步骤
get_fruits process output
输入水果数量 对水果数量求和 输出最终结果

图片描述

  • 这几个py文件可以进行调试吗?
  • 下次再说!👋