Skip to content

Latest commit

 

History

History
441 lines (288 loc) · 10.1 KB

011-813939-顺序执行过程_流水_流程_执行次序.sy.md

File metadata and controls

441 lines (288 loc) · 10.1 KB
show version enable_checker
step
1.0
true

Guido的简历 🥊

回忆上次内容

  • python 是Guido制作的语言
    • 从Guido刚入职场 就开始的项目
    • python这个项目 一直跟随Guido
  • Guido 曾经在
    • cwi
    • cnri
    • beopen
    • google
    • dropbox
    • microsoft
    • 工作

图片描述

  • 让我们用 python
    • 为 Guido 写一个简历

准备oeasy.py

  • 先恢复很久之前的oeasy.py

图片描述

  • 如果已经找不到的话
    • 需要重新编辑oeasy.py
  • 这回是最后一次
    • 带着走编辑-运行-保存的流程

编辑运行工作流

  • 编辑oeasy.py
    • 在shell中 运行
      • vi oeasy.py

图片描述

  • i进入插入模式

图片描述

  • 输入代码

图片描述

  • :w|!python3 %
    • 保存并运行py程序

图片描述

在shell中观察并运行

  • :q

图片描述

  • 退回到shell

图片描述

  • 保存并关闭 oeasy.py

guido.py

  • 这次编辑一个新的文件guido.py
#用vi打开并编辑guido.py
vi guido.py
  • 打开guido.py后
    • 这是一个新的文件

图片描述

读取r

  • 读取 oeasy.py 到 当前缓存
    • :r oeasy.py
      • r 的意思是 read 读取

图片描述

  • 回车之后

图片描述

整理代码

  • gg
    • 将光标 移动回最开头

图片描述

  • dd
    • 删除(delete) 光标所在行
      • 最开头的一行
        • gg所在行的位置

图片描述

  • gg 是第一行
  • G 是最后一行

复制代码

  • 先按一下y
    • 观察 下图红框位置

图片描述

  • 再按一下G
    • 注意此处是大写G
  • 完整命令是yG
    • 复制的是
      • 从当前位置
        • 最开头的位置
        • gg的位置
      • 到最后一行
        • 最后的位置
        • G的位置
      • 的内容
  • 完整命令为 ggyG
    • 从头复制到尾
      • 这里复制了两行

图片描述

  • 这两行 被复制(yank)进了默认寄存器
  • 可以看一下寄存器状态吗?

寄存器状态

  • 键入:reg
    • 观察寄存器状态

图片描述

  • 默认寄存器""(两个双引号)
    • 如红框所示
      • 确实是两行文本
        • 其中的 ^J是回车
  • 然后 准备粘贴
    • 回车切换回正常模式

小写p粘贴

  • 当前光标 在 第1行第1列

图片描述

  • 按下p进行粘贴

    • 含义为paste
      • p为 粘贴快捷键
  • 在第一行的后面

    • 粘贴了两行代码
      • 新代码如红框所示

图片描述

  • 新代码 出现在
    • 原光标行 (第1行) 的
  • 可以让新代码粘贴在
    • 原光标行 (第1行) 的 面 吗?

大写P粘贴

  • u回来
    • undo 撤销一次
      • 如下图所示
        • 光标还是在 第1行第1列

图片描述

  • 按下P

    • 注意此处是 大写P
  • 新粘贴的代码

    • 在光标位置上方
      • 如红框所示

图片描述

  • 可以想见
    • 9999p
      • 在当前位置后面 9999次 粘贴剪贴板
    • 9999P
      • 在当前位置前面 9999次 粘贴剪贴板
  • 这次剪切板里面
    • 原本 只有 两行代码
    • 这一翻倍 粘贴出来
      • 就可以有 2*9999行 代码了
    • 还记得上次 万行代码的 圆梦之旅吗?
  • 😏

回忆...

图片描述

  • 万行代码 不是梦

  • 9999p

图片描述

查看神迹

  • G 可以到最末尾一行

  • 这次 仍然仿佛 像一般

图片描述

  • 上次1
  • 这次2
  • 翻了一番
  • 截图纪念!!

梦醒时分😄

  • 圆梦了之后
    • 感觉 有点空虚
    • 梦 还是要
  • u回来
    • undo撤销
    • 按一下u
      • 相当于撤销一步

图片描述

  • 多 撤销了 的话
    • ctrl+r可以
    • redo 重做
    • 取消撤销操作

回到最初

  • 又回到 最初
    • 4行的 样子

图片描述

  • 梦醒之后🌛
    • 进行 我们的修改

自行修改

  • p一下
    • 生成6行代码

图片描述

成块删除

  • 将光标移动到下图位置

图片描述

  • 按下 ctrl + v
    • 进入-- 可视 块 --模式

图片描述

  • 将光标移动到下图位置
    • 选中了一个 6 x 5 的矩阵

图片描述

  • 按下d
    • 进行删除delete

图片描述

  • 6 x 5 矩阵中的文字 都消失了
    • 现在准备 插入Guido的简历

准备批量插入

  • 将光标移动到
    • 第1行第8列

图片描述

  • 按下 ctrl + v
    • 进入--可视 块 --模式

图片描述

  • 将光标移动到
    • 第6行第8列

图片描述

批量插入

  • 按下 大写I
    • 进入插入模式

图片描述

  • 在第一行插入文字如下图所示

图片描述

  • 按下esc
    • 完成批量插入

图片描述

执行

图片描述

  • i
    • 进入 插入模式
    • 修改输出文本

图片描述

  • esc
    • 退出 插入模式
    • 回到 正常模式
  • :
    • 进入 底行命令模式

保存执行

  • :w|!python3 %
    • 保存并用 python3 解释当前程序(%)

图片描述

  • 可以看到输出了标了号的 6 行

图片描述

  • 这 6 行的顺序
    • 就是 按 我们标号的顺序 来的

顺序执行

  • 这个过程叫做顺序执行
    • 按照次
    • 着执行的

图片描述

  • 顺序执行是我们最常见程序结构
  • 除此以外还有
    • 条件分支结构
    • 循环结构

顺序播放

  • 顺序执行 就像 我们听语音
    • 是 挨排听的

图片描述

  • 这个过程 叫 顺序播放
  • 按照次序 顺着执行的

音符顺序

  • 演奏音符 也是
    • 一个一个音符按照顺序演奏
    • 才是这首歌曲
  • 调换一下次序
    • 就乱了
    • 不是这个歌了
    • 好像...
      • 也是一种思路...🤪

图片描述

  • 这个 过程叫
    • 按 次 播放
    • 序 演奏
    • 着 来的

按部就班

图片描述

  • 生活也是
    • 按照 线性的时间线
      • 顺序完成的

图片描述

  • 成住坏空

学习

  • 学习也一样
    • 要按照 时间的次第
      • 一步一步 来

图片描述

  • 细水长流
    • 这个编程
      • 也像 水一样
      • 从头流到尾
  • 所以 程序
    • 也叫 流程

总结

  • py 的程序是 按照顺序执行的

    • 是一行行 挨排解释执行的
    • 程序并不是 代码量 越多越好
  • kpi也在 不断演化

    • 写的代码Code 越多
      • 可能 出现的bug 就越多

图片描述

  • 要写的是 可用的Code
    • 而不是 不可用的Bug
  • 那 什么是bug呢?
  • 我们下次再说!👋