[oeasy]python0085_[趣味拓展]字体样式_下划线_中划线_闪动效果_反相_取消效果

字体样式

回忆上次内容

  • \033 xm 可以改变字体样式
    • 0m - 10m 之间设置的 都是字体效果
      • 0m 复原
      • 1m 变亮
      • 2m 变暗

图片描述

  • 从3m到10m
    • 又是什么效果 呢??

图片描述

  • 真的可以
    • 让文字 blink闪烁吗?👁

3m

图片描述

  • 3m 实现斜体字的效果

4m

图片描述

  • 4m 对应着下划线

图片描述

控制范围

print("\033[0mthis is an \033[4manchor\033[0m")
print("\033[0mthis is \033[4man anchor\033[0m")
print("\033[0mthis is\033[4m an anchor\033[0m")
  • 通过控制字符串的位置
    • 可以控制效果范围

图片描述

  • 标准输出流中的 所有文字
    • 都可以 控制样式
  • 属性可以叠加吗?

属性叠加

  • 可以 交换次序
    • 先变亮(\033[1m)、再加下划线(\033[4m)
    • 先加下划线(\033[4m)、再变亮(\033[1m)
    • 效果一样

图片描述

  • 变暗 也可以 与下划线叠加

图片描述

  • 可以 简化控制序列 吗?

简化写法

  • 合并同类项
    • 把需要加的标记 进行汇总
    • 用;做为分割符

图片描述

  • 这套规则 来自于什么 呢?

VT100

  • 规则来自于 终端一代神机
    • DEC 的 VT100
    • 下图为 VT100 说明书
    • https://vt100.net/docs/vt100-ug/chapter3.html

图片描述

  • 很多东西 都可以 从VT100看出端倪
    • 八进制转义表示法
    • 控制序列前导符 ESC[
    • 分号分隔符
  • 4m是 下划线
  • 5m呢?

继续尝试

  • 5m、6m 本应是
    • 快闪、慢闪

图片描述

  • 但是 现在看起来 效果是一样的
    • 可以 编程实现 快闪效果吗?
    • 动手试试

快闪

图片描述

  • 编码
import time
for i in range(1000):if i % 2 == 0:print("\roeasy",end="")else:print("\r     ",end="")time.sleep(0.2)
  • 再往后看看

7m

  • 7m 是反相
    • 把前景和背景色交换

图片描述

  • 黑变白
  • 白变黑

图片描述

  • 颠倒黑白

8m

  • 8m对应隐藏

图片描述

  • 隐藏比较复杂
    • 因为完全看不见了😄

9m

  • 9m对应中划线

图片描述

  • 划掉

图片描述

  • 不喜欢的统统划掉

字体设置

图片描述

  • 10-19 定义为字体设置
    • 但是 实际上 没有效果

图片描述

20-29

  • 20-29
    • 20 设置字体
    • 21-29部分 和 1-9
      • 一一对应
      • 取消相应 的 效果

图片描述

  • 1是变亮
    • 21 是取消变亮
  • 2是变暗
    • 22 是取消变暗
  • 23-29
    • 取消 3-9 的字体效果
  • 0 是全部取消

效果

图片描述

  • 0m 确实可以清除此后所有的样式

图片描述

  • 29m 可以专门地清除
    • 此后的 中划线样式
  • 但如果一开始的时候
    • 既有中划线样式
    • 又高亮
    • 会如何呢?

专门清除

图片描述

  • 注意后面hate you 部分
    • 取消了下划线样式
    • 但没有取消高亮样式

图片描述

  • 除非 控制序列的 新要求
    • 否则 标准输出流
    • 会一直保持 各种字体样式
  • 那么29m以后
    • 控制的又是什么呢?

29m以后

  • 居然好像真的是颜色设置了 🥰
    • 前景色
    • 背景色

图片描述

  • 可以搞点 好玩的 东西啦!!!😄

总结

  • m 可以改变字体样式
    • 0-9 之间设置的都是字体效果
    • 0 重置为默认
    • 1 变亮
    • 2 变暗
    • 3 斜体
    • 4 下划线
    • 5 慢闪
    • 6 快闪
    • 7 前景背景互换
    • 8 隐藏
    • 9 中划线
  • 叠加效果
    • \33[1;3moeasy
    • ;分割
  • 取消效果
    • 21 取消 1
    • 22 取消 2
    • 23 取消 3
    • 一直到 29
    • 0 是全部取消,回到默认

图片描述

  • 最后发现

    • 真的可以 设置颜色???👁
  • 我们下次再说!👋

  • 蓝桥->https://www.lanqiao.cn/courses/3584

  • github->https://github.com/overmind1980/oeasy-python-tutorial

  • gitee->https://gitee.com/overmind1980/oeasypython

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/95205.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

16.5.3 【Linux】SELinux 三种模式的启动、关闭与观察

并非所有的 Linux distributions 都支持 SELinux 的,所以你必须要先观察一下你的系统版本为何。 目前 SELinux 依据启动与否,共有三种模式,分别如下: enforcing:强制模式,代表 SELinux 运行中,…

Es、kibana安装教程-ES(二)

上篇文章介绍了ES负责数据存储,计算和搜索,他与传统数据库不同,是基于倒排索引来解决问题的。Kibana是es可视化工具。 分布式搜索ElasticSearch-ES(一) 一、ElasticSearch安装 官网下载地址:https://www…

springBoot 配置文件 spring.mvc.throw-exception-if-no-handler-found 参数的作用

在Spring Boot应用中,可以通过配置文件来控制当找不到请求处理器(handler)时是否抛出异常。具体的配置参数是spring.mvc.throw-exception-if-no-handler-found。 默认情况下,该参数的值为false,即当找不到请求处理器时…

ES踩坑记录之UNASSIGNED分片无法恢复

问题背景 换节点 我们线上有一套ES集群,三台机器,共运行了6个节点。一直在线上跑了几个月也一直没出什么问题。然而好巧不巧,就在昨天,集群中的3号节点磁盘出现故障,导致机器直接瘫痪。本来大家觉得问题不大&#xf…

Android12 偶现触摸失灵

生产线 在烧录固件时,会偶然出现稍完之后屏幕触摸用不了。前期以为是烧录没弄好,后面又发生,就怀疑与产品有关了。 首先进行抓日志分析:有问题的设备先确认下dmesg信息 adb连接设备进行日志抓取: logcat > /sdcard…

QT的工程文件认识

目录 1、QT介绍 2、QT的特点 3、QT模块 3.1基本模块 3.2扩展模块 4、QT工程创建 1.选择应用的窗体格式 2.设置工程的名称与路径 3.设置类名 4.选择编译器 5、QT 工程解析 xxx.pro 工程配置 xxx.h 头文件 main.cpp 主函数 xxx.cpp 文件 6、纯手工创建一个QT 工程…

carla中lka实现(二)

前言: 首先计算之前检测出来的车道线的中线与输入图像的中线进行计算距离,,并设置不同的阈值对于不同的方向进行相关的调整。 一、车辆中心线 一般而言将摄像头架设在车辆的正中心轴上,所获得的图像的中间线极为车辆的中心。 …

js watermark实现水印效果

2023.8.15今天学习了如何给页面添加水印,效果如下: 1.创建watermark.js文件: import id from "element-ui/src/locale/lang/id";let watermark {} let setWatermark (str) > {let id 1.23452384164.123412415if (document.g…

WebGL游戏站优化实录【myshmup.com】

myshmup.com 允许在浏览器中创建 shmup(射击)游戏。 你可以使用具有创意通用许可证的资源或上传自己的艺术作品和声音。 创建的游戏可以在网站上发布。 该平台不需要编码,游戏对象的配置是在用户界面的帮助下执行的。 后端是使用Django框架开…

Git多版本并行开发实践

本文目的: 实现多个项目同时进行的git多版本管理工作流。 名词解释: feature-XXXX:特性分支指CCS中一个项目或者一个迭代,在该分支上开发,完成后,合并,最后,删除该分支,…

设计模式之中介者模式(Mediator)的C++实现

1、中介者模式的提出 在软件组件开发过程中,如果存在多个对象,且这些对象之间存在的相互交互的情况不是一一对应的情况,这种功能组件间的对象引用关系比较复杂,耦合度较高。如果有一些新的需求变化,则不易扩展。中介者…

uniapp 官方扩展组件 uni-combox 实现:只能选择不能手写(输入中支持过滤显示下拉列表)

uniapp 官方扩展组件 uni-combox 实现:只能选择不能手写(输入中支持过滤显示下拉列表) uni-comboxuni-combox 原本支持:问题: 改造源码参考资料 uni-combox uni-combox 原本支持: 下拉选择。输入关键字&am…

ATF(TF-A) 威胁模型汇总

安全之安全(security)博客目录导读 目录计划如下,相关内容补充中,待完成后进行超链接,敬请期待,欢迎您的关注 1、通用威胁模型 2、SPMC威胁模型 3、EL3 SPMC威胁模型 4、fvp_r 平台威胁模型 5、RSS-AP接口威胁模型 威胁建模是安全…

TCP服务器实现—多进程版,多线程版,线程池版

目录 前言 1.存在的问题 2.多进程版 3.多线程版 4.线程池版 总结 前言 在上一篇文章中使用TCP协议实现了一个简单的服务器,可以用来服务端和客户端通信,但是之前的服务器存在一个问题,就是当有多个客户端连接服务器的时候,服…

【Unity细节】Unity中的层级LayerMask

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 😶‍🌫️收录于专栏:unity细节和bug 😶‍🌫️优质专栏 ⭐【…

MySQL索引介绍 为什么mysql使用B+树

什么是索引? 索引是一种用于快速查询和检索数据的数据结构,常见的索引结构有:B树,B树和Hash。 索引的作用就相当于目录。打个比方,我们在查字典的时候,如果没有目录,那我们就只能一页一页的去…

K8S核心组件etcd详解(上)

1 介绍 https://etcd.io/docs/v3.5/ etcd是一个高可用的分布式键值存储系统,是CoreOS(现在隶属于Red Hat)公司开发的一个开源项目。它提供了一个简单的接口来存储和检索键值对数据,并使用Raft协议实现了分布式一致性。etcd广泛应用…

Llama 2免费托管及API提供

Llama 2 是 Meta 最新的文本生成模型,目前其性能优于所有开源替代方案。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 1、强大的Llama 2 它击败了 Falcon-40B(之前最好的开源基础模型),与 GPT-3.5 相当,仅低…

redis的三种集群方式

redis有三种集群方式:主从复制,哨兵模式和集群。 1.主从复制 主从复制原理: 从服务器连接主服务器,发送SYNC命令; 主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所…

Fluent-MyBatis

Fluent-MyBatis Fluent-MyBatis 简介 何为 Fluent Mybatis? Fluent Mybatis, 是一款 Mybatis 语法增强框架, 综合了 Mybatis Plus, Dynamic SQL, JPA 等框架特性和优点 Fluent-MyBatis 开源地址 Fluent-MyBatis 原理 Fluent-MyBatis 原理是利用 annotation pro…