[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 清屏



目录
相关文章
|
28天前
|
人工智能 Python
[oeasy]python089_列表_删除列表项_remove_列表长度_len
本文介绍了Python列表(list)的操作方法,重点讲解了`remove`方法的使用。通过实例演示如何删除列表中的元素,探讨了`ValueError`异常产生的原因,并分析了时间复杂度O(n)的概念。同时提及了`clear`方法清空列表的功能及`len`函数获取列表长度的用法。最后以购物清单为例,展示列表的实际应用场景,并预告快速生成列表的方法将在后续内容中介绍。
129 62
|
25天前
|
人工智能 索引 Python
[oeasy]python091_列表_索引_index_中括号_索引函数
本文介绍了Python中列表与字符串的索引及index函数用法。通过range生成列表,使用索引[]访问和修改列表元素,index函数查找元素位置。字符串支持索引访问但不可直接修改。还探讨了16进制数在Python中的表示方法,以及日期、月份等特殊字符的Unicode范围。最后总结了列表与字符串操作的区别,并预告后续内容,提供蓝桥云课、GitHub和Gitee链接供进一步学习。
52 20
|
26天前
|
Python 容器
[oeasy]python090_列表_构造_范围_range_start_end_step_步长
本文介绍了Python中列表的生成方法,重点讲解了`range()`函数的使用。通过`range(start, stop, step)`可生成一系列整数,支持正负步长,但不支持小数参数。文章从基础的列表追加、直接赋值到复杂的应用场景(如生成等宽字体的月份列表),结合实例演示了`range()`的灵活性与实用性。最后总结了`range()`的关键特性:前闭后开、支持负数步长,并提供了进一步学习的资源链接。
76 15
|
21天前
|
索引 Python
[oeasy]python092_eval_衡量_转化为列表
本文探讨了 Python 中 `eval` 函数的用法及其与字符串和列表之间的转换关系。通过实例分析,展示了如何使用 `eval` 将字符串转化为对应的数据类型,例如将表示列表的字符串转回列表。同时,文章深入讲解了 `eval` 的工作机制,包括根据本地和全局变量对字符串进行计算的能力。此外,还提醒了命名变量时需避免覆盖内置类名(如 `str`、`int`、`list`)的重要性,以免影响程序正常运行。最后,简要提及字符串和列表索引中负数的应用,并为读者提供了进一步学习的资源链接。
29 2
|
1月前
|
人工智能 Python
[oeasy]python088_列表_清空列表_clear
本文介绍了Python中列表的清空方法`clear`。通过实例讲解了`clear`与将列表赋值为空列表的区别,前者会清空原列表内容,而后者创建新空列表,不影响原列表。文中以收银程序为例,展示了`clear`的实际应用场景,并通过地址观察解释了两者的机制差异。最后总结了相关术语如`list`、`append`、`clear`等,帮助理解列表操作及方法调用的概念。
58 6
|
2月前
|
机器学习/深度学习 存储 设计模式
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
|
2月前
|
人工智能 Java 数据安全/隐私保护
[oeasy]python081_ai编程最佳实践_ai辅助编程_提出要求_解决问题
本文介绍了如何利用AI辅助编程解决实际问题,以猫屎咖啡的购买为例,逐步实现将购买斤数换算成人民币金额的功能。文章强调了与AI协作时的三个要点:1) 去除无关信息,聚焦目标;2) 将复杂任务拆解为小步骤,逐步完成;3) 巩固已有成果后再推进。最终代码实现了输入验证、单位转换和价格计算,并保留两位小数。总结指出,在AI时代,人类负责明确目标、拆分任务和确认结果,AI则负责生成代码、解释含义和提供优化建议,编程不会被取代,而是会更广泛地融入各领域。
98 28
|
2月前
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
2月前
|
Python
[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
50 4
|
2月前
|
设计模式 机器学习/深度学习 前端开发
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。

热门文章

最新文章