show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次完成了画松树工作
- 通过一层层的工作的细分
- 定义了五个函数
- 然后使用函数调用完成工作
- 每个函数都有自己的代码段
- 负责各自的任务
- 如何理解这个职业分工各司其职呢?
- 南北大菜
- 满汉全席
- 蒸羊羔,蒸熊掌,蒸鹿尾儿, 烧花鸭,烧雏鸡儿,烧子鹅 ,卤煮咸鸭,酱鸡,腊肉,松花,小肚儿 ,晾肉,香肠...
- 不是一个人做出来的
- 一个人 累死了
- 菜早就凉了
- 后厨职位很多
- 各有各的岗位职责
- 比如说水台
- 水台
- 入门职业,很苦也累,工资最低
- 主要负责宰杀各类动物
- 对水产品进行打鳞等初步加工
- 水台线的头
- 水爷
- 红案就是热菜
- 以炉灶和火为基本手段
- 红红火火
- 备菜提供下一步的实参
- 下一步是墩子
- 头墩
- 墩子的头
- 既要有很强的刀工技术
- 还要熟悉原料性能、价格及配比知识
- 同时承担高档菜肴的半成品搭配、制作
- 有时还要负责编制筵席菜单
- 量化配料
- 二墩
- 负责切、配工作
- 三墩
- 负责统货原料
- 冷墩
- 负责冷盘菜的烧卤、拌炝
- 熟墩
- 切配装盘
- 墩子接收菜杂的实参
- 得到的返回值是备好的菜
- 准备交给下一个师傅
- 炉子
- 主厨(红锅、掌勺、掌灶)
- 炉子上用第一火眼或第一面灶(体现地位)
- 经验多、技术高
- 负责烹制筵席菜肴或难度大的高档菜肴
- 后厨核心
- 以上就是红案了
- 除了红案还有白案
- 白案负责糕团、面点制作
- 白指的是米、面
- 案指的是案板
- 大案(主案)
- 负责大宗面点制作
- 包括手工面条
- 馄饨皮擀制及各种包子、馒头、花卷、水饺等制作
- 大案的助手是面二
- 小案
- 负责筵席点心的制作
- 制作各种点心
- 面锅
- 负责下面条
- 这就是职业分工
- 为什么要有分工呢?🤔
- 为了提高效率和质量
- 从打猎时代就有分工了
- 有的近战抗伤害
- 有的远程输出
- 有的做武器
- 有的布置陷阱
- 有的负责喊叫
- 如果现在要包饺子怎么个调用过程呢?
- 任务分析
- 要做饺子
- 就得有面
- 还得有馅
- 还得煮
- 我们先看面
- 面函数(function)
- 找(call)大案
- 大案找(call)面二和面擀皮
- 面二开始准备饺子皮流程(function)
- 需要实际2个形式参数(parameter)
- 麦芯粉
- 水
- 需要实际2个形式参数(parameter)
- 经过相应流程
- 返回饺子皮
- 然后是饺子馅
- 找(call)头墩制馅函数(function)
- 头墩找(call)三墩备菜函数
- 头墩找(call)二墩剁馅函数
- 是不是很像画松树函数
- 调用画树冠
- 调用画树干
- 三墩也不是从零开始
- 韭菜不是三墩种的
- 韭菜是作为实参给到三墩的
- 三墩洗菜、摘菜
- 把根切掉
- 把烂的扔掉
- 三墩备菜函数对外界是个黑箱
- 韭菜洗了几次
- 什么样的扔什么样的不扔
- 这些都是三墩备菜函数来负责的
- 外面只看见韭菜进来
- 洗好的韭菜作为返回值出去
- 交给二墩
- 二墩剁馅函数接收到三墩切馅函数的返回值作为实参(arguement)
- 开始切馅儿流程
- 二墩对外也是个黑箱
- 韭菜是怎么切的
- 鸡蛋韭菜 多少比例
- 加了多少葱
- 怎么加的香油
- 只有二墩知道
- 二墩只要韭菜和鸡蛋
- 是乌鸡蛋、走地鸡 还是白羽鸡
- 都可以
- 这都不重要
- 重要的是返回馅儿给头墩
- 作为包饺子函数的馅形式参数(formal parameter)的实际参数(actual parameter)
- 包饺子函数(function)
- 面和馅这两个实参(arguement)传进来
- 定义的形参(parameter)是馅这种形式
- 肉馅
- 茴香馅
- 韭菜馅都行
- 肉片不行
- 对两个两个实参进行处理
- 返回值为饺子元组
- 形参(parameter)是一些在函数定义时出现的名字
- 实参(argument)是参数调用时具体传递给函数的值
- 形参(parameter)定义函数可以接受的参数形式
- 实参(argument)满足形参(parameter)要求
- 才能完成参数赋值的过程
- 包饺子函数要的是馅儿这种形式的
- 实际上传给包饺子函数的参数必须得是这种形式的(形式参数)
- 韭菜鸡蛋
- 牛肉大葱
- 茴香鸡蛋都可以
- 但必须是实实在在的馅儿(实际参数)
- 包的过程对外也是一个黑盒子
- 挤饺子
- 捏饺子都行
- 只要最终是饺子就行
- 返回饺子元组
- 然后呢?
- 接收上一个包饺子函数返回的饺子元组实参
- 进行煮这个操作
- 煮饺子函数对外也是黑箱
- 点水三次
- 出锅
- 返回煮熟的饺子元组
- 最终完成!
- 这个过程模拟厨师完成的饺子工业化
- 饺子是不是最终的返回值呢?
- 煮好的饺子饺子可能也是中间状态
- 是前面流程总的返回值
- 却是下面流程函数的参数
- 实际上的大型饺子工厂不是这样的@_@
- 真正的饺子工厂不用人包饺子
- 都是机器自动包的
- 人来检查一下
- 别露馅了
- 1小时5万个饺子
- 效率简直太高了
- 有很多问题需要注意
- 食材安全与保鲜
- 机器运行、维护、清洗时间
- 饺子的冷藏等等
- 饺子还是家里包的好吃
- 实际上家里包饺子一般都是一专多能
- 什么职业都能干
- 而且各职业之间是可以传递消息的
- 早年间职业之间是有交流的
- 馅儿是咸了还是淡了
- 面是软了还是硬了
- 甚至可以对于流程进行创新
- 而且非程式化的手工艺流程往往可以有更多创意
- 有更多乐趣
- 虽然失去了效率
- 不可否认工业化的大生产效率高很多
- 工业的千篇一律确实保证了质量和标准
- 不过我们应该在劳动中创造快乐和作品
- 大过年的不是追求效率的时候
- 对比一下我们的画松树流程
def draw_pine(n=5):
draw_pine_head(n)
draw_pine_body(n)
def draw_pine_head(n):
draw_pine_triangle(n)
draw_pine_triangle(n)
def draw_pine_triangle(n):
for i in range(n):
for j in range(n+1-i):
print(" ",end="",sep="")
for k in range(2*i+1):
print("*",end="",sep="")
print()
def draw_pine_body(n):
for i in range(n):
for j in range(n):
print(" ",end="",sep="")
for k in range(3):
print("*",end="",sep="")
print()
for i in range(n+1):
for j in range(n+1-i):
print(" ",end="",sep=",")
if __name__ =='__main__':
draw_pine(5)
- 确实是层层调用
- 我们这次通过包饺子理解了
- 层层嵌套的工业化思路
- 形式参数与实际参数
- 以及对于工业化的反思
- 如果想要在原来画松树的基础上
- 给松树树冠上颜色
- 应该怎么做呢?🤔
- 我们下次再说👋