[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制

简介: [oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制

光标位置 回忆上次内容

  • 上次了解了 新的转义模式
  • \033 逃逸控制字符 escape
  • 这个字符 让字符串 退出标准输出流
  • 进行控制信息的设置
  • 可以设置 光标输出的位置




添加图片注释,不超过 140 字(可选)

  • ASR33中的ALT MODE
  • 是 今天的ESC键吗????🤔


添加图片注释,不超过 140 字(可选)

查询文档

添加图片注释,不超过 140 字(可选)

  • 最开始的时候
  • 还没有esc键


  • 使用ctrl + shift + k
  • 实现esc效果


  • 后来的键盘
  • 有了 实体的esc键


escape 跳出

  • 现在键盘都有这个按键
  • 一般在左上角
  • 用来
  • 退出当前应用/游戏
  • 跳出菜单



添加图片注释,不超过 140 字(可选)

  • 上图esc在
  • 1 的左下
  • Q 的左边


  • esc可以
  • 从当前的纯文字标准输出流里面
  • 逃(escape)出来
  • 进行控制信息的传输


键盘的进化过程

  • 后来连接主机(main frame)用的是
  • 终端(terminal)


  • 当年最流行的终端 型号是
  • DEC VT100


添加图片注释,不超过 140 字(可选)

  • esc 在1 左边
  • 还没有 出现在最左上的位置


位置的变化

  • 玩一些terminal上面的游戏时
  • 可以用 esc 退出游戏环境
  • 进入菜单
  • 进行设置、存盘、读档、退出之类的操作



添加图片注释,不超过 140 字(可选)

  • 知道 什么时候退
  • 比知道 怎么玩重要😄


  • 键盘还没有 统一的标准
  • 功能键  F1-F10
  • 在 最左边



标准键盘

  • 101键盘布局 成为经典
  • 左上角是esc 标准位置


添加图片注释,不超过 140 字(可选)

  • 后来放在 左上角
  • 用边距和F1 拉开距离
  • 体现escape重要性


行业标准

  • 键盘开始有了标准布局
  • 并形成了工业标准


添加图片注释,不超过 140 字(可选)

  • 可以在ascii字符集里面
  • 找到esc 这个字符 么?


esc

  • 在下图中尝试找到esc

添加图片注释,不超过 140 字(可选)

  • esc 对应
  • (001 1011)2进制


  • 再到ascii应用中
  • 找一下esc?


ascii

  • 使用apt
  • 安装ascii这个应用


sudo apt install ascii

  • 找到这个字符

添加图片注释,不超过 140 字(可选)

  • 这个esc对应的是
  • (27)10进制
  • (1B)16进制


  • 这个(1B)16进制
  • 是怎么得到的呢?


1b

  • 使用hex函数
  • 可以得到
  • 数字的十六进制形式字符串
  • hexadecimal



添加图片注释,不超过 140 字(可选)

  • 如果是八进制呢?

添加图片注释,不超过 140 字(可选)

不同进制 表现形式

  • (1b)16进制
  • 对应着(27)10进制
  • 对应着(33)8进制


添加图片注释,不超过 140 字(可选)

  • 上面的分别是
  • 十六进制形态
  • 十进制形态
  • 八进制形态


  • 正如下面

添加图片注释,不超过 140 字(可选)

  • 不同的形态都可以
  • 用来转义吗?


不同形态

  • 不同的转义方式
  • 不影响功能


添加图片注释,不超过 140 字(可选)

  • 使用转义序列
  • 或者16进制转移方式
  • 或者8进制转移方式


添加图片注释,不超过 140 字(可选)

  • 在输出时
  • 没有差别
  • 都是换行效果


escape控制码大全

  • CSI 是
  • Control Sequence Introducer
  • 就是esc加[
  • esc就是\033
  • 用的是几进制的形式?



添加图片注释,不超过 140 字(可选)

  • 可以有各种方式
  • 控制位置


\033

  • 八进制的 形式

添加图片注释,不超过 140 字(可选)

  • \033[nA 光标上移 n 行
  • \033[nB 光标下移 n 行
  • \033[nC 光标右移 n 行
  • \033[nD 光标左移 n 行
  • \033[y;xH 设置光标位置
  • \033[2J 清屏
  • \033[K 清除从光标到行尾的内容
  • \033[s 保存光标位置
  • \033[u 恢复光标位置
  • \033[?25l 隐藏光标
  • \033[?25h 显示光标

光标的自由

  • 输出字符的位置
  • 以前是固定的
  • 仿佛被牢牢锁住


添加图片注释,不超过 140 字(可选)

  • 真的能 挣脱固定位置的锁链 吗?

添加图片注释,不超过 140 字(可选)

  • 好期待?

总结

  • 本次了解了键盘演化的过程
  • ESC 从 组合键
  • 到 独立按键


添加图片注释,不超过 140 字(可选)

  • ESC 的作用
  • 是 进入控制序列
  • 配置控制信息


  • 控制信息
  • \033[y;xH 设置光标位置
  • \033[2J 清屏



目录
相关文章
|
2天前
|
人工智能 Shell 开发工具
[oeasy]python0041_输出ASCII码表_英文字符编码_键盘字符_ISO_646
本文介绍了ASCII码表的生成与使用,包括英文字符、数字和符号的编码。通过Python代码遍历0到127的ASCII值,解决了找不到竖线符号的问题,并解释了ASCII码的固定映射关系及其重要性。文章还介绍了ASCII码的历史背景,以及它如何成为国际标准ISO 646。最后,通过安装`ascii`程序展示了完整的ASCII码表。
5 1
|
13天前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
26 4
|
20天前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
17 1
|
6天前
|
人工智能 开发工具 Python
[oeasy]python040_缩进几个字符好_输出所有键盘字符_循环遍历_indent
本文探讨了Python代码中的缩进问题。通过研究`range`函数和`for`循环,发现缩进对于代码块的执行至关重要。如果缩进不正确,程序会抛出`IndentationError`。文章还介绍了Python的PEP8规范,推荐使用4个空格进行缩进,并通过示例展示了如何使用Tab键实现标准缩进。最后,通过修改代码,输出了从0到122的字符及其对应的ASCII码值,但未能找到竖线符号(`|`)。文章在总结中提到,下次将继续探讨竖线符号的位置。
7 0
|
1月前
|
监控 Python
用 Python 操作你的鼠标和键盘
用 Python 操作你的鼠标和键盘
36 2
|
27天前
|
存储 C++ Python
[oeasy]python037_ print函数参数_sep分隔符_separator
本文介绍了Python中`print`函数的`sep`参数,即分隔符。通过回顾上文内容,解释了类型与`type`的概念,并强调了参数类型的重要性。文章详细探讨了`print`函数如何使用`sep`参数来分隔输出值,默认分隔符为空格(序号32)。还讨论了如何修改分隔符为其他字符,如冒号,并解释了为何反斜杠需要使用双反斜杠表示。最后,文章追溯了`sep`名称的由来,以及相关词汇的历史背景,如盎格鲁-萨克逊人的武器和语言。
20 0
|
1天前
|
设计模式 算法 搜索推荐
Python编程中的设计模式:优雅解决复杂问题的钥匙####
本文将探讨Python编程中几种核心设计模式的应用实例与优势,不涉及具体代码示例,而是聚焦于每种模式背后的设计理念、适用场景及其如何促进代码的可维护性和扩展性。通过理解这些设计模式,开发者可以更加高效地构建软件系统,实现代码复用,提升项目质量。 ####
|
1天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
1天前
|
人工智能 数据挖掘 程序员
Python编程入门:从零到英雄
【10月更文挑战第37天】本文将引导你走进Python编程的世界,无论你是初学者还是有一定基础的开发者,都能从中受益。我们将从最基础的语法开始讲解,逐步深入到更复杂的主题,如数据结构、面向对象编程和网络编程等。通过本文的学习,你将能够编写出自己的Python程序,实现各种功能。让我们一起踏上Python编程之旅吧!
|
2天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第36天】本文将带你走进Python的世界,从基础语法出发,逐步深入到实际项目应用。我们将一起探索Python的简洁与强大,通过实例学习如何运用Python解决问题。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供有价值的指导和灵感。让我们一起开启Python编程之旅,用代码书写想法,创造可能。