/images/hugo/avatar.png

futrue

1. futrue 的概念

1.1 对 futrue 的理解

期物:

  • 包括:
    • concurrent.futures.Future 类
    • asyncio.Future 类
    • Twisted 的 Deferred 类
    • Tornado 的 Future 类
  • 作用:
    • 指一种对象, 表示异步执行的操作
    • 类的实例表示可能已经完成或者尚未完成的延迟计算
  • 理解:
    • 期物封装待完成的操作, 可以放入队列
    • 完成的状态可以查询, 得到结果(或抛出异常)后可以获取结果(或异常)

2. concurrent.futures

组成:

6.7 程序交互与信号捕捉

程序交互,退出状态与信号捕捉

/images/linux_mt/linux_mt.jpg

本节我们开始学习 bash shell 编程的第七部分,包含以下内容:

  1. 如何在程序执行过程中与用户交互
  2. bash 编程调试
  3. 设置脚本执行的状态返回值
  4. 如何在 bash 中使用 ASCII 颜色
  5. dialog 实现窗口化编程
  6. 信号捕捉

1. 用户交互

bash 中与用户交互主要通过 read 命令完成,read 可以输出一段文字提示用户输入指定内容,并将用户输入保存在特定变量中,read 的使用方式如下

协程

1. 协程的概念

1.1 对协程的理解

协程理解:

  • 协程是用户空间的线程,编程语言必需提供接口实现线程调度
  • python 中 yield 是一种流程控制工具,使用它可以实现协程

生成器的编写风格:

6.6 函数和参数传递

函数和参数传递

/images/linux_mt/linux_mt.jpg

本节我们来学习 bash shell 编程的第六部分参数传递与函数,包括以下内容:

  1. 如何向脚本传递参数
  2. bash 函数
  3. 局部作用域

1. 参数传递

1.1 位置参数

所谓位置参数是 bash 中,脚本或函数接收参数的形式,除了位置参数,脚本中还内置了一些特殊参数,用于保存特定的值。参数的对应关系如下所示

上下文管理器和 else 块

本章内容

  • for、while 和 try 语句的 else 子句
  • EAFP 与 LBYL
  • 上下文管理器协议
  • with 语句和上下文管理器
  • contextlib 模块

1. else 子句

作用:

  1. 能让代码更易于阅读
  2. 不用设置控制标志或者添加额外的 if 语句

控制逻辑:

6.5 字符串处理

字符串处理

/images/linux_mt/linux_mt.jpg

本节我们来学习 bash shell 编程的第五部分字符串处理,内容包括:

  1. 字符串的切片,基于位置取子穿
  2. 基于模式取子串
  3. 查找和替换
  4. 大小写转换
  5. 变量赋值操作

bash 中获取变量的值可以使用 ${VARIABLE},字符串操作就是在此基础上的扩展。