字体样式 回忆上次内容
  • 上次了解了 一个新的转义模式
  • \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. XML Schema 复杂元素类型详解:定义及示例解析

    在XML Schema(XSD)中,复杂元素是指包含其他元素和/或属性的XML元素.复杂元素可以分为四种类型: 空元素: 仅包含其他元素和/或属性的元素. 仅包含其他元素的元素: 不包含文本内容,只包 ...

  2. C# 炸弹人 winform版

    实现这个游戏的基本功能包含几个对象:玩家,怪物,墙砖,炸弹,通关的门.玩家通过上下左右方向键移动,放置炸弹,被怪物杀死,被炸弹炸死.怪物随机方向移动,能杀死玩家.炸弹有爆炸功能,炸弹的火花长度.通过的 ...

  3. BigDecimal类的基本使用

    概述 java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的 ...

  4. 在WPF中判断是是否为设计时模式

    方式一:   using System.ComponentModel;       private bool IsInDesignMode   {   get { return DesignerPro ...

  5. NOIP模拟71

    T1 签到题 解题思路 每个点的度数对于 \(c\) 取 \(\bmod\) 有余数答案的贡献就加一. 证明太难,略.... code #include <bits/stdc++.h> # ...

  6. 如何创建一个线程池,为什么不推荐使用Executors去创建呢?

    我们在学线程的时候了解了几种创建线程的方式,比如继承Thread类,实现Runnable接口.Callable接口等,那对于线程池的使用,也需要去创建它,在这里我们提供2种构造线程池的方法: 方法一: ...

  7. kettle从入门到精通 第三十五课 kettle 变量

    1.设置变量 a.可以通过转换中的"设置变量"步骤进行设置. b.手动通过kettle.properties文件或通过"编辑"菜单中的"设置环境变量& ...

  8. C#.NET 国密SM4加密解密 CBC ECB 2种模式

    注意点: 1.加密时,明文转 byte[] 时,不要用 Encoding.Default,一定要指定编码,如:UTF-8. 解密时,解出的 byte[] 转 string 同样要指定相同的编码. 2. ...

  9. leetcode | 107. 二叉树的层序遍历 II | javascript实现 | c++实现

    题目 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 . (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 思路 题目的要求相当于是求层序遍历数组的转置,我们只需利用js的 ...

  10. 增补博客 第二篇 python 谢宾斯基三角型字符分形图形输出

    SIZE = int(input())# 输入分割次数 SIZE = SIZE<<3 # 将分割次数转为次数 y = SIZE - 1 # 用来控制列数 while y>=0: fo ...