[oeasy]python0007-Guido的简历

Guido的简历

回忆上次内容

  • 计算机本身的特性决定

    • 计算机保存传递的是电子
    • 而不是原子
    • 这就使得存储和分发的成本几乎为零
  • 在这样的物理基础上

    • 出现了自由软件运动
    • 从rms提出的free software 开始
    • 到gnu研发的各种软件
  • 自由软件运动之后出现了开源运动

    • 提倡把源代码开放
    • 也被大量的商业公司所跟随
  • python其实是

    • 一个典型的开源项目
    • 自由软件标志性的语言
  • 是谁制作出了python这个语言呢?

Guido

  • 荷兰人Guido 最早开发的 python
  • 那个时候还没有github

图片描述

  • 当时 Guido 怎么就想到要创造一个 python 呢?

缘起

  • 最早 Guido 曾经在 CWI 工作

    • CWI是荷兰的数学与计算机科学国家研究所

图片描述

  • 这个研究所在研究一种语言

    • 能够像C语言那样

      • 全面调用计算机的功能接口
    • 又能像shell那样

      • 轻松的编程
    • 这个语言叫做ABC
  • 当时 Guido 在 CWI 参与到 ABC语言 的开发

    • 他将自己所知的一切语言设计知识都倾注在这个项目上
    • 尽管已经具备了良好的可读性和易用性
  • Guido白天做abc

    • 晚上做自己的python
  • 但ABC语言最终还是没有流行起来

    • 后来Guido去哪里了呢?

cnri

  • 荷兰的国家研究中心

图片描述

  • Guido吸取了ABC的教训
  • 开始了自己的 python语言
  • 95 年开源运动还在兴起的过程中
  • 研究python项目的经费是 cnri 出的
  • 按理说这python应该算是cnri的

发展

  • Guido 想把他做成开源的

    • 但是没有立场
    • 毕竟 cnri 花了钱
  • python 从开始

    • 就是属于Guido的
    • 最开始在 cwi 工作写abc

      • 下班摸鱼 改的 python 的 bug
    • 到了 cnri

      • 继续做这个
      • 甚至让 cnri 出研究python项目的经费

图片描述

  • 从python的Owner上面

    • 其实可以看到Guido的工作轨迹
  • 那这个python到底属于谁呢?

Guido 的考量

  • 在 python 的 license 里面提到了 cwi 和 cnri
  • 当时 python 的主要成员开始讨论

    • python 应该继续免费开源还是商业

图片描述

  • Guido 认为如果商业化

    • python 的用户就会离开
    • 最终选择开源
    • 贡献者和社区也是在开源的基础上发展起来的
  • 但商业是世界运行的底层逻辑

    • 强大的商业资本方会有律师、媒体
    • python 离开商业也会举步维艰
    • 这曾让 Guido 很苦恼

转机

  • 开源运动的爆发给了他启发

    • 他开始选择 gpl 协议来发布python源代码
    • gpl 后续必须也得开源
  • 后来互联网兴起

    • 其中一个网站 BeOpen.com
    • BeOpen 想做的是开源门户
    • 用的技术是 开源的python
  • BeOpen 想要帮 Guido 发展python

    • 就想给他一份工作
    • 工作内容就是完善 python
    • 这正是 Guido 所需要的!!!
    • Guido 带着 3 个 CNRI 的同事一起去了
  • 这时候 CNRI 的管理层慌了

    • 他们觉得 Guido 疯了
    • BeOpen 是个创业公司
    • 找 Guido 谈话
    • 威胁他去了就别想再回来
    • 但是不可阻止了
  • Guido走了

    • CNRI 的 python 项目

      • 自然也跟着走了
  • Guido 在哪

    • python 项目就在哪
  • 不过去 BeOpen.com 的 2000 年

    • 正好是互联网泡沫兴起的时候
    • 有兴起就有衰落
    • BeOpen也在苦苦支撑中
  • 这时候Guido又该何去何从呢?

后来

  • 他从 BeOpen.com 之后

    • Guido 很担心 python 源代码的所有权问题
  • 后来 Guido 去了 soap 公司

    • 在那里他咨询了律师
    • 并建立了 python 基金会

      • psf
    • 明确了 python 的协议和所属问题
    • 开源运动已经慢慢发展起来了

[oeasy]python0007-Guido的简历_第1张图片

  • Guido开始接收到各种邀约

Google

  • 后来他去google面试的时候

    • 简历非常简单
    • I wrote python
    • 后几轮面试的时候
    • 面试官开始反应过来
    • 这是python之父Guido
  • 2005年

    • 加入 google
  • 2012年

    • 加入 dropbox
    • 当时dropbox只有 150 人
    • 玩起了云存储
  • 2020年 去了微软

    • 微软号称拥抱开源

      • 要帮Guido提高python性能3-5倍
      • 目前Guido还在微软
  • 这就是Guido和python的历史

    • 在商业的世界里
    • Guido 走出了属于自己的道路
    • 从无到有
  • 让我们用 python

    • 为 Guido 写一个简历吧

准备oeasy.py

  • 我们先恢复原来的oeasy.py

[oeasy]python0007-Guido的简历_第2张图片

  • oeasy.py 已经写好了

[oeasy]python0007-Guido的简历_第3张图片

  • 保存并关闭oeasy.py

guido.py

#用vi打开并编辑guido.py
vi guido.py
  • 上一步的oeasy.py中输出了两行内容:

    • hello
    • oeasy
  • 这一步我们把这两行读取到guido.py
  • :r oeasy.py

    • 读取上次的文件进入当前缓存

[oeasy]python0007-Guido的简历_第4张图片

整理代码

  • gg

    • 将光标移动回到最开头

[oeasy]python0007-Guido的简历_第5张图片

  • dd

    • 删除(delete)光标所在行

      • 最开头的一行(gg 所在的位置)

[oeasy]python0007-Guido的简历_第6张图片

复制代码

  • 先按一下y

    • 观察下图红框位置

[oeasy]python0007-Guido的简历_第7张图片

  • 再按一下G (注意此处是大写G)
  • 完整命令是yG

    • 复制的是

      • 从当前位置(最开头gg )
      • 到最后一行(G)的内容
    • 这里复制了两行

[oeasy]python0007-Guido的简历_第8张图片

  • 这两行被复制(yank)进了默认寄存器
  • 然后准备粘贴

粘贴

  • 2P (注意此处是大写P)

    • 在当前位置上方粘贴(paste) 2 次

[oeasy]python0007-Guido的简历_第9张图片

  • 多出来4行...
  • 可以想见9999p

    • 这次剪切板里面有两行代码
    • 这一粘贴出来就可以有2*9999行代码了
    • 还记得上次万行代码的圆梦之旅吗?

回忆...

[oeasy]python0007-Guido的简历_第10张图片

  • 万行代码不是梦
  • 9999p

[oeasy]python0007-Guido的简历_第11张图片

查看神迹

  • G 可以到最末尾一行
  • 这次仍然仿佛是真的发生过的梦一般

[oeasy]python0007-Guido的简历_第12张图片

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

梦醒时分

  • 圆梦了之后

    • 感觉有点空虚
    • 梦还是要醒的
  • u回来

    • uundo撤销
    • 按一下u相当于撤销一步

[oeasy]python0007-Guido的简历_第13张图片

  • 撤销多了可以ctrl+r

    • redo 重做

回到最初

  • 又回到最初6行的样子

[oeasy]python0007-Guido的简历_第14张图片

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

自行修改

  • i

    • 重新切换到插入模式为输出添加年份标号

[oeasy]python0007-Guido的简历_第15张图片

  • 底行显示目前状态为插入模式
  • 最终把guido.py编辑成如下的样子
print("1982------Guido in cwi")
print("1995------Guido in cnri")
print("2000------Guido in beopen")
print("2005------Guido in google")
print("2012------Guido in dropbox")
print("2020------Guido in microsoft")

执行

  • esc

    • 退回到正常模式

[oeasy]python0007-Guido的简历_第16张图片

  • esc退出插入模式
  • 准备底行命令模式运行当前py文件

保存执行

  • :w|!python3 %

    • 保存并用 python3 解释当前程序(%)

[oeasy]python0007-Guido的简历_第17张图片

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

[oeasy]python0007-Guido的简历_第18张图片

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

顺序执行

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

图片描述

顺序播放

  • 就像我们听语音是挨排听的

图片描述

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

音符顺序

  • 演奏音符也是一个个按照顺序演奏,才是这首歌曲
  • 调换一下次序,就乱了,不是这个歌了
  • 不过其实也是一种思路。。。

图片描述

  • 这个过程叫顺序演奏
  • 按照次序顺着演奏的

按部就班

图片描述

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

图片描述

学习

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

[oeasy]python0007-Guido的简历_第19张图片

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

总结

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

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

[oeasy]python0007-Guido的简历_第20张图片

  • 写的代码越多

    • 出现的bug就越多
    • 什么是bug
    • 如何找bug呢?
  • 我们下次再说!

蓝桥->https://www.lanqiao.cn/teache...
github->https://github.com/overmind19...
gitee->https://gitee.com/overmind198... 作者:oeasy

你可能感兴趣的:(python)