[oeasy]python0082_[趣味拓展]控制序列_清屏_控制输出位置_2J

简介: [oeasy]python0082_[趣味拓展]控制序列_清屏_控制输出位置_2J

光标位置 回忆上次内容

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


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

  • ESC的作用 是
  • 进入 控制序列
  • 配置 控制信息
  • 控制信息
  • \033[y;xH 设置光标位置
  • \033[2J 清屏



  • 这到底怎么控制???🤔
  • 来实现这些功能?

控制

  • 是由 系统中 终端软件
  • 来实现的


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

  • 具体来说
  • 当前系统中 终端软件 就是
  • xfce terminal



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

输出字符

  • \033是转义序列
  • \33\033的省略写法
  • `\0ooo 的方式是
  • 使用 八进制形式 输出转义字符



  • 033
  • ord("\e") 的八进制形式


  • 也可以 写成 16进制形态
  • 0x1b
  • \x1b



print("\033[2J")

  • J 是模式选择
  • 清屏模式
  • 分为四种清屏
  • 0J - 从光标清到屏幕结束
  • 1J - 从光标清到屏幕开头
  • 2J - 整屏幕清
  • 3J - 整屏幕清并选择清空滚动缓存



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

  • 2J 是 整屏幕全清空

屏幕清空

  • 仿佛宇宙进行了一场重启
  • 回到了最初什么都没有的初始状态
  • 白茫茫大地真干净



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

  • 这个字符的宇宙
  • 究竟有多大呢?


观察环境

  • 进入vi 观察屏幕大小

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

  • 终端屏幕默认 80*24 (字符)
  • 这尺寸可以追溯到 早期的存储介质
  • 纸质卡片


  • 目前已经成为了 终端默认的大小


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

  • 终端清屏之后
  • 可以让光标
  • 从左上角进行输出吗?



设置光标

  • \33[ 是CSI
  • 控制序列前导符
  • Control Sequence Introducer


  • 如果没有csi
  • 就是将文本直接输出到标准输出流


  • 如果加上了csi
  • 就输出了控制序列
  • 从而可以控制输出的位置和颜色等


print("\33[1;1Hoeasy")

  • 1;1 指的是
  • 屏幕左上角
  • 终端大小
  • 横向80字符
  • 纵向24字符



  • 中间用分隔符是分号(;)


  • 设置好了输出位置 之后
  • 再输出 后面的字符 oeasy


  • H 是模式选择

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

  • 可以先清屏 再输出吗?

清屏并设置光标 print("\33[2J") print("\33[1;1Hoeasy")

  • 这是两句话
  • 完成两件事
  1. 2J清屏
  2. 1;1H设置输出位置



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

  • 两句话可以合并成一句吗?

合并输出

  • "\33[2J\33[1;1Hoeasy"
  • \33[2J 终端接收到后清屏
  • \33[1;1H 终端接收到后设置光标
  • 终端输出 oeasy


print("\33[2J\33[1;1Hoeasy")

  • 可以换个位置 输出吗?

换个位置 print("\33[2J\33[10;10Hoeasy")

  • "\33[2J\33[10;10Hoeasy"
  • 先清屏
  • 再在(10,10)坐标输出oeasy


  • 这样就可以 让光标
  • 在屏幕中 任意移动


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

  • 一个跟头 十万八千里
  • 这就是通过escape引发的
  • 控制序列的 作用


escape

  • escape 就是退出
  • 从 当前输出序列中 退出来
  • 进行 控制信息的输出



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

  • 看起来很像 安全逃生出口

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

总结

  • 这次了解了 一个新的转义模式
  • \33 逃逸控制字符 esc


  • esc 让输出
  • 退出 标准输出流
  • 进行 控制信息的设置
  • 可以 清屏
  • 也可以 设置光标输出的位置



  • 还能做什么呢?
  • 可以 设置 字符的颜色吗???🤔


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


目录
相关文章
|
11天前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
23 4
|
18天前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
16 1
|
4天前
|
人工智能 开发工具 Python
[oeasy]python040_缩进几个字符好_输出所有键盘字符_循环遍历_indent
本文探讨了Python代码中的缩进问题。通过研究`range`函数和`for`循环,发现缩进对于代码块的执行至关重要。如果缩进不正确,程序会抛出`IndentationError`。文章还介绍了Python的PEP8规范,推荐使用4个空格进行缩进,并通过示例展示了如何使用Tab键实现标准缩进。最后,通过修改代码,输出了从0到122的字符及其对应的ASCII码值,但未能找到竖线符号(`|`)。文章在总结中提到,下次将继续探讨竖线符号的位置。
6 0
|
25天前
|
存储 编译器 索引
Python 序列类型(2)
【10月更文挑战第8天】
Python 序列类型(2)
|
26天前
|
存储 C++ 索引
Python 序列类型(1)
【10月更文挑战第8天】
|
1月前
|
Python
[oeasy]python036_数据类型有什么用_type_类型_int_str_查看帮助
本文回顾了Python中`ord()`和`chr()`函数的使用方法,强调了这两个函数互为逆运算:`ord()`通过字符找到对应的序号,`chr()`则通过序号找到对应的字符。文章详细解释了函数参数类型的重要性,即`ord()`需要字符串类型参数,而`chr()`需要整数类型参数。若参数类型错误,则会引发`TypeError`。此外,还介绍了如何使用`type()`函数查询参数类型,并通过示例展示了如何正确使用`ord()`和`chr()`进行转换。最后,强调了在函数调用时正确传递参数类型的重要性。
20 3
|
25天前
|
存储 C++ Python
[oeasy]python037_ print函数参数_sep分隔符_separator
本文介绍了Python中`print`函数的`sep`参数,即分隔符。通过回顾上文内容,解释了类型与`type`的概念,并强调了参数类型的重要性。文章详细探讨了`print`函数如何使用`sep`参数来分隔输出值,默认分隔符为空格(序号32)。还讨论了如何修改分隔符为其他字符,如冒号,并解释了为何反斜杠需要使用双反斜杠表示。最后,文章追溯了`sep`名称的由来,以及相关词汇的历史背景,如盎格鲁-萨克逊人的武器和语言。
19 0
|
2月前
|
Python
[oeasy]python035_根据序号得到字符_chr函数_字符_character_
本文介绍了Python中的`ord()`和`chr()`函数。`ord()`函数通过字符找到对应的序号,而`chr()`函数则根据序号找到对应的字符。两者互为逆运算,可以相互转换。文章还探讨了单双引号在字符串中的作用,并解释了中文字符和emoji也有对应的序号。最后总结了`ord()`和`chr()`函数的特点,并提供了学习资源链接。
28 4
|
3月前
|
存储 索引 Python
Python中序列类型 (Sequence Types)
【8月更文挑战第2天】
52 4
|
存储 算法 BI
【100天精通python】Day6:python基础_基本数据结构,常用序列类型和运算符
【100天精通python】Day6:python基础_基本数据结构,常用序列类型和运算符
131 0
下一篇
无影云桌面