字体样式 回忆上次内容
  • 上次了解了 一个新的转义模式
  • \033 逃逸控制字符 esc
 
  • esc 让输出
  • 退出 标准输出流
  • 进行 控制信息的设置
  • 可以 清屏
  • 也可以 设置光标输出的位置
 
 
  • 还能做什么呢?
  • 可以 设置 字符的颜色吗???
 

 
添加图片注释,不超过 140 字(可选)
查看细节
  • 回忆
  • 控制序列 前导符\033[
 
  • \是转义字符
  • 要和 后面的内容
  • 一起 构成转义序列
 
 
  • \033 是转义序列
  • 转义转义
  • 转化含义
  • 转义序列\033对应的 字符含义 是Escape
  • 从标准输出流 逃逸 出去
 
 
  • 输出字符串时
  • 出现了 Escape后
  • 能逃去到 哪里 呢?
 
  • 从 输出的字符串中 Escape 出去
  • 后面的内容 不是纯文本了
  • 而是 控制序列(Control Sequence)
 
具体控制
  • \033[ 是 CSI
  • Control Sequence Introducer
  • 控制序列前导符
 

 
添加图片注释,不超过 140 字(可选)
 
  • CSI n m
  • CSI 之后的是ansi给的关于字体样式的设置细节
 
  • 上图中的 n 对应
  • 0-10的一个数字
 
  • 上图中的m 说明
  • 这是 要进行 外观设置
  • 选择图形渲染 参数
  • SGR (Select Graphic Rendition) parameters
 
 
  • 上次
  • 用H 控制位置
 
  • 这次
  • 用 m 控制外观
 
  • 具体怎么控制外观呢?
具体设置
  • 从1m 到10m

 
添加图片注释,不超过 140 字(可选)
 
  • 动手试试
1m、0m
  • 结构是 \033[1m
  • \033是逃逸字符
  • 1 对应着 增亮或变粗
  • 0 对应着 还原
  • m 是 固定的格式要求
 

 
添加图片注释,不超过 140 字(可选)
 
  • 好像颜色 是有点 不一样

 
添加图片注释,不超过 140 字(可选)
 
  • 我可以 把\033 简化为 \e 么?
  • 实践 出 真知
尝试\e
  • python游乐场中不能用\e

 
添加图片注释,不超过 140 字(可选)
 
  • 结论
  • \033 可以进入 字体控制模式
  • \e 目前 在python中 不支持
 
  • 但是 在shell中 呢?
在shell中
  • 在shell中
  • echo命令 支持\e
 

 
添加图片注释,不超过 140 字(可选)
 
  • python游乐场 中
  • 不支持"\e"
  • 只支持"\033"
 
2m

 
添加图片注释,不超过 140 字(可选)
 
  • 2 和 1 相反
  • 1m 更亮
  • 2m 更暗
  • 0m 还原
 

 
添加图片注释,不超过 140 字(可选)
 
  • 一会儿亮
  • 一会儿暗
 
  • 好像 挺好玩的
编写程序
  • 编辑一个py文件
  • 注意
  • 文件名 不能是time.py
  • 因为 我们要引入的包 叫做time
  • time.py 会让 python3 引入自己
 
 
import time for i in range(100): csi = "\033[" color = str(i % 3) print(csi + color + "moeasy") time.sleep(0.2)
  • i%3 是让 i对3取余
  • 得到0、1、2三种可能
 
代码

 
添加图片注释,不超过 140 字(可选)
 
  • i 从1到100
  • color在"0"、"1"、"2"中 循环
  • 设置文字在"正常"、"亮"、"暗"中 循环
 
  • 冷却时间是 0.2s
 

 
添加图片注释,不超过 140 字(可选)
 
  • 规律性很强
  • 其实 通过亮和暗
  • 可以得到 更好玩的东西
 
bb
  • 可以 看看bb 这个应用
  • 在shell中 安装bb
 
sudo apt install bb
  • 键入 bb 直接运行
  • bb里面 用字符画风格
  • 实现 三维旋转
 
 

 
添加图片注释,不超过 140 字(可选)
 
  • 应该是 视频按帧 转化过来的
  • 很好玩!
 
  • 可以 引入随机吗?
引入随机
  • 进入python游乐场
import random help random
  • 先看看帮助文档

 
添加图片注释,不超过 140 字(可选)
 
  • random.random() 在 [0,1) 之间

 
添加图片注释,不超过 140 字(可选)
 
  • random.random()*2 在 [0,2) 之间
  • int(random.random()*2) 得到 整数
  • {0,1}
  • (0 或者 1)
 
 
随机翻倍
  • 想要让屏幕显示
  • 0或者1
 

 
添加图片注释,不超过 140 字(可选)
 
  • random.random() 在 (0,1) 之间
  • random.random()*2 在 [0,2) 之间
 
  • 再用int函数取整
  • 得到 {0, 1}
  • (0 或 1)
 
 

 
添加图片注释,不超过 140 字(可选)
 
  • 颜色的值 可以是
  • {0, 1, 2}
  • (0 或 1 或 2)
 
  • 这又应该如何取得呢?
乱序
  • 编辑一个py文件
  • 注意文件名不能是
  • time.py
  • random.py
 
 
import time import random while True: csi= "\033[" color = int(random.random()*3) num = int(random.random()*2) print(csi + str(color) + "m" + str(num),end="")
  • 数字是
  • 0 或 1
 
  • 颜色是
  • 亮 \33[1m
  • 正常 \33[0m
  • 暗 \33[2m
 
效果
  • 这下确实 乱了起来

 
添加图片注释,不超过 140 字(可选)
 
  • 而且是
  • 毫无规律地
  • 乱了起来
 
 
纷乱 乱花渐欲迷人眼 浅草才能没马蹄

 
添加图片注释,不超过 140 字(可选)
 
  • 视觉表象看起来
  • 确实很乱
 
  • 想要 总结规律
  • 就要从视觉中抽象出来
 
总结
  • \033 xm 可以改变字体样式
  • 0m - 10m 之间设置的 都是字体效果
  • 0m 复原
  • 1m 变亮
  • 2m 变暗
 
 

 
添加图片注释,不超过 140 字(可选)
 
  • 从3m到10m
  • 又是什么效果 呢??
 

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


 

[oeasy]python0083_[趣味拓展]字体样式_正常_加亮_变暗_控制序列的更多相关文章

  1. 2020年12月-第02阶段-前端基础-CSS字体样式

    CSS字体样式属性调试工具 应用 使用css字体样式完成对字体的设置 使用css外观属性给页面元素添加样式 1.font字体 1.1 font-size:大小 作用: font-size属性用于设置字 ...

  2. 学习微信小程序之css4设置颜色,单位表示,字体样式

    颜色的设置可以通过RGB设置 可以直接通过英文单词设置 可以通过16进制来设置 长度单位: 字体样式: 设置字体样式 字体粗细 设置字体风格 设置字间距

  3. css3中的字体样式

    text-overform:ellipsis省略号/clip裁剪. overform:hidden溢出隐藏文字. 但是text-overflow只是用来说明文字溢出时用什么方式显示,要实现溢出时产生省 ...

  4. CSS3初学篇章_3(属性选择符/字体样式/元素样式)

    属性选择符  选择符  说明  E[att]  选择具有att属性的E元素.  E[att="val"]  选择具有att属性且属性值等于val的E元素.  E[att~=&quo ...

  5. css字体样式(Font Style),属性

    css字体样式(Font Style),属性   css字体样式(Font Style)是网页中不可或缺的样式属性之一,有了字体样式,我们的网页才能变得更加美观,因此字体样式属性也就成为了每一位设计者 ...

  6. 【Android】 TextView设置个别字体样式

    SpannableString msp = new SpannableString("测试"+XM+"更换当前号码将从手机发送一条普通短信进行验证"); msp ...

  7. Asp.net 字体样式

    在页面中使用到字体样式  “微软雅黑“,在静态页面中显示正常,但在asp.net页面中字体无效,此时只需把字体修改为“Microsoft YaHei";

  8. 详解CSS设置默认字体样式

    浏览器默认的样式往往在不同的浏览器.不同的语言版本甚至不同的系统版本都有不同的设置,这就导致如 果直接利用默认样式的页面在各个浏览器下显示非常不一致,于是就有了类似YUI的reset之类用来尽量重写浏 ...

  9. css中的字体样式及元素样式

    css中的字体样式一般包含有就9中,常见的有7种.这7种依次为: 1.字体样式:font-family: 2.字体大小:font-size: 3.字体加粗:font-weight: 4.字体斜体:fo ...

  10. Material 字体样式与排版

    Material 字体样式与排版 Google Material 设计规范文档 Style– Typography 字号 再好的布局也会被过多的字号和样式会毁掉.要规定好在这个布局上合适的 字号集合 ...

随机推荐

  1. git解决Enter passphrase for key ‘/root/.ssh/id_rsa’: 重复输入密码问题

    删除方法: ssh-keygen -p   这里只是删除密码 ssh的pub不会改变.   屏幕快照 2019-12-20 下午4.11.05.png Enter file in which the ...

  2. SwiftUI(一)- VStack、HStack、ZStack布局

    SwiftUI是什么 懒得写,直接找了一篇博客: 初识 SwiftUI 三种布局 SwiftUI包括三种布局: VStack: 纵向布局,默认居中对齐 HStack: 横向布局,默认居中对齐 ZSta ...

  3. 几个公司wiki知识库调研和感悟

    @ 目录 需求背景 具体实现 经验&吐槽 小结 需求背景 公司准备做一个知识库,我这边调研了几个项目,如下 第一个是我们耳熟能详的confluence,但是好想要收费,先搁置 第二个是mind ...

  4. vue导航固定 吸顶效果

    吸顶效果 如何得到滚动条滚动的距离,document.documentElement.scrollTop 通过onscroll事件来完成滚动事件监听,达到吸顶值后,进行样式更换

  5. sql数据的查询

        数据的查询操作             子查询 联合查询 多表查收等等             基本查询 模糊查询 分组查询 子查询             基本查询语句 查询表结构中所有字段 ...

  6. INFINI Gateway 如何防止大跨度查询

    背景 业务每天生成一个日期后缀的索引,写入当日数据. 业务查询有时会查询好多天的数据,导致负载告警. 现在想对查询进行限制--只允许查询一天的数据(不限定是哪天),如果想查询多天的数据就走申请. 技术 ...

  7. Console LDAP 配置解密

    之前通过短视频向大家介绍了 Console 如何集成 LDAP,但很多小伙伴反映按照视频里的配置后不成功.今天就结合小伙伴们反映的问题来跟大家详细介绍一下. Console LDAP 完整的配置参数如 ...

  8. 3. Elasticsearch 索引基本操作

    引言 上一篇教大家安装了Elasticsearch-head插件和kibana可视化分析工具,今天就教大家在kibana的dev-tool里的控制台中如何操作索引 基础概念 索引(index) 索引( ...

  9. 在线SQL格式化工具推荐

    在线SQL格式化工具,一键美化.整理您的SQL代码,支持多种数据库语法格式化.有效提升代码可读性,方便团队协作与快速定位问题,是开发人员必备的SQL编程助手,让复杂查询更清晰,更易于维护. 在线SQL ...

  10. 如果redis没有设置expire,他是否默认永不过期

    如果redis没有设置expire,他是否默认永不过期?默认是的 通过EXPIRE key seconds 命令来设置数据的过期时间.返回1表明设置成功,返回0表明key不存在或者不能成功设置过期时间 ...