show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次把 fruit.py 拆分成了
- 输入模块 get_fruits.py
- 主模块 output.py
- 引用模块中变量的时候
- from 模块(module)的名字空间(namespace)
- import 了 a和b
- from 模块(module)的名字空间(namespace)
- 最终
- 拆分代码 成功!
- 拆成
- 输入模块
- 输出模块
-
可以将程序
再拆分
吗?- 拆成 主控、输入、输出三部分
- 可以吗?🤔
-
什么是主控模块呢?
- 就像一个电视遥控器
- 或者说 一个核心的中控室
- 就像 主神经中枢
- 是 一切汇总的 地方
- 管理着 具体的 步骤
- 来建立一个主控程序
- 在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文件可以进行调试吗?
- 下次再说!👋