Python print 高阶玩法

Python print 高阶玩法

当涉及到在Python中使用print函数时,有许多方式可以玩转文本样式、字体和颜色。在此将深入探讨这些主题,并介绍一些print函数的高级用法。

1. 基本的文本样式与颜色设置

使用ANSI转义码

ANSI转义码是一种用于在终端(命令行)中控制文本样式、颜色和其他属性的特殊字符序列。这些码由一系列以\033[开头的字符组成,后面跟着具体的控制参数。在Python中,可以使用这些转义码来实现在控制台中输出带有特定样式和颜色的文本。

ANSI转义码的基本结构

ANSI转义码通常由以下结构组成:

  • \033[:转义序列的起始部分,表示以转义序列开始。
  • 参数1;参数2;...m:以分号分隔的参数列表,控制文本的样式和颜色。
  • m:表示转义序列的结束。
常用的ANSI转义码参数
  • 重置样式:
    • \033[0m:重置所有样式和颜色,将文本恢复为默认状态。
  • 文本样式:
    • \033[1m:粗体(加粗)
    • \033[3m:斜体
    • \033[4m:下划线
    • \033[7m:反显(将前景色和背景色交换)
  • 文本颜色:
    • \033[30m:黑色
    • \033[31m:红色
    • \033[32m:绿色
    • \033[33m:黄色
    • \033[34m:蓝色
    • \033[35m:紫色
    • \033[36m:青色
    • \033[37m:白色
  • 背景颜色:
    • \033[40m:黑色背景
    • \033[41m:红色背景
    • \033[42m:绿色背景
    • \033[43m:黄色背景
    • \033[44m:蓝色背景
    • \033[45m:紫色背景
    • \033[46m:青色背景
    • \033[47m:白色背景

ANSI转义码是一种在终端中控制文本样式和颜色的方式。下面是一些常见的ANSI转义码:

  • 样式重置

    RESET = '\033[0m'  # 重置所有样式和颜色
    
  • 文本样式

    BOLD = '\033[1m'   # 粗体
    ITALIC = '\033[3m' # 斜体
    UNDERLINE = '\033[4m' # 下划线
    
  • 文本颜色

    BLACK = '\033[30m'
    RED = '\033[31m'
    GREEN = '\033[32m'
    YELLOW = '\033[33m'
    BLUE = '\033[34m'
    PURPLE = '\033[35m'
    CYAN = '\033[36m'
    WHITE = '\033[37m'
    
示例代码:
# 设置样式和颜色
text_style = '\033[1;31;47m'  # 以红色前景和白色背景显示文字
reset_style = '\033[0m'  # 重置样式

# 打印带样式的文本
print(f"{text_style}这是带样式的文本{reset_style}")

在这里插入图片描述

2. 使用第三方库提供更多功能

Colorama库

Colorama是一个流行的库,可在不同操作系统上实现彩色输出。

安装Colorama:
pip install colorama
示例代码:
from colorama import Fore, Back, Style, init

# 初始化Colorama
init()

# 打印不同颜色的文本
print(f"{Fore.RED}红色文本{Style.RESET_ALL}")
print(f"{Back.GREEN}绿色背景{Style.RESET_ALL}")
print(f"{Style.BRIGHT}加亮的文本{Style.RESET_ALL}")

在这里插入图片描述

3. print函数的高级用法

格式化字符串

使用格式化字符串可以将变量和文本组合成一个字符串。示例代码:

name = "Alice"
age = 30
print(f"姓名:{name},年龄:{age}")
输出到文件

print函数还可以将内容输出到文件中,而不只是控制台。示例代码:

with open("output.txt", "w") as file:
    print("这段文字将会写入文件", file=file)
格式化打印

可以使用format函数或%操作符进行字符串格式化打印,这有助于按照指定格式输出内容。示例代码:

number = 3.14159
print("圆周率是 {:.2f}".format(number))  # 保留两位小数输出
print("圆周率是 %.2f" % number)  # 使用%操作符的格式化输出
使用endsep参数

print函数还有endsep参数,可以自定义输出结束时的字符和分隔符。示例代码:

print("A", "B", "C", sep=", ", end="---\n")

这些技巧提供了一些基础知识,可以在Python中玩转print函数的多样功能。值得注意的是,不同的方法适用于不同的场景,选择适合需求的方法进行文本样式、颜色设置和高级打印操作。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

lua每日tips

目录 1,EC618系列不支持win7下刷机2,为何室内无法gps定位3,Lot平台自动锁定4, LuaTools的部分操作界面是支持拖拽功能的5,Air780E省略 1,EC618系列不支持win7下刷机 1, EC618系列不支持win7下刷…

GitLab clone 地址 不对

1丶问题描述 2丶解决方案 解决方案: 找到挂载到宿主机配置文件:gitlab.rb vi gitlab.rb 改成自己的ip 重启容器,会发生一个问题:容器一直重启,这里暂未找到合适的解决方案。 所以采用粗暴的方法,直接干…

css中的变量和辅助函数

变量 --name 两个破折号加变量名称(可以在当前的选择器内定义)var(--*) 命名规则 body {--深蓝: #369;background-color: var(--深蓝); } 变量值只能做用属性值,不能用做属性名。变量命名不能包含 $,[,^,(,% 等字符 普通字符局限在只要是数…

解决kubelet报failed to get imageFs info: non-existent label \“docker-images\“

问题: 一环境主机重启后,查看kubelet日志经常有大量无法回收镜像文件报错,会导致kubelet的pleg不健康,从而导致kubelet发生重启。报错如下: 解决办法 解决方法一: systemctl stop docker systemctl stop …

鸿蒙开发DevEco Studio搭建

DevEco Studio 安装 DevEco Studio 编辑器 下载:https://developer.harmonyos.com/cn/develop/deveco-studio#download Windows(64-bit)Mac(X86)Mac(ARM) 安装:DevEco Studio → 一路 Next运行: 基础安装:Node.js > 16.9.1…

通过Docker搭建4节点的Tendermint集群

Tendermint:0.34.24 Docker:20.10.21 Docker-Compose:2.20.2 OS:Ubuntu 20.04 Go:1.19.2 Linux/amd64 1 修改Tendermint源码 1.1 修改监听IP 为什么要将127.0.1修改成0.0.0.0呢?因为容器内的服务如果是以…

Java进击框架:Spring-Web(八)

Java进击框架:Spring-Web(八) 前言DispatcherServlet拦截器异常视图解析重定向转发 语言环境日志 过滤器带注释的控制器声明映射请求其它注解验证 功能性端点URI Links异步请求CORSHTTP缓存视图技术MVC配置其他Web框架 前言 Spring Web MVC是…

大数据深度学习长短时记忆网络(LSTM):从理论到PyTorch实战演示

文章目录 大数据深度学习长短时记忆网络(LSTM):从理论到PyTorch实战演示1. LSTM的背景人工神经网络的进化循环神经网络(RNN)的局限性LSTM的提出背景 2. LSTM的基础理论2.1 LSTM的数学原理遗忘门(Forget Gat…

Mate X5对应用进行专门适配,刷视频和文章的体验比直板机强太多

虽然说折叠机是否适合当主力机使用一直是一个有争议的问题,但折叠机在阅读浏览方面的体验真的是要比直板机强太多。 比如办公时,各种表格报单、海报PPT都是更大更清晰,一览无遗,体验过基本就回不去了。 而华为的最新折叠屏&…

rime中州韵小狼毫 日期/农历 时间 事件 节气 滤镜

网络上但凡提到 rime中州韵小狼毫须鼠管输入法,总少不了智能时间,日期等炫技,可见这个便捷时间/日期输入功能是多么的受欢迎。作者也不落窠臼,今天为大家带来的分享就是 时间日期 滤镜。 先睹为快 在正文开始前,我们…

【python】爬取百度热搜排行榜Top50+可视化【附源码】【送数据分析书籍】

英杰社区https://bbs.csdn.net/topics/617804998 一、导入必要的模块: 这篇博客将介绍如何使用Python编写一个爬虫程序,从斗鱼直播网站上获取图片信息并保存到本地。我们将使用requests模块发送HTTP请求和接收响应,以及os模块处理文件和目录操…

【多传感器攻击】TPatch: A Triggered Physical Adversarial Patch

代码 https://github.com/forget2save/TPatch 论文 https://www.usenix.org/system/files/sec23summer_123-zhu-prepub.pdf 自动驾驶汽车越来越多地利用基于视觉的感知模块来获取有关驾驶环境的信息并检测障碍物。正确的检测和分类对于确保安全驾驶决策非常重要。现有的工作已…

Rust学习笔记:基础概念介绍(一)

Rust背景 让我们从Rust语言的背景开始,探索它的起源。Rust最初是Mozilla研究院在2006年的一个个人项目。第一个稳定的公开版本发布于2015年5月,但在此之前Mozilla已经在生产软件中使用了Rust。2021年,Rust基金会成立,其宪章是管理…

1、设计模式概述

1.1 软件设计模式的产生背景 1.2 软件设计及模式的概念 1.3 学习设计模式的必要性 1.4 设计模式分类 创建型模式 用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GOF书中提供了单例、原型、工厂方法、抽象工厂、建造者等5种创建者模式。 结构…

【SkyWant.[2304]】路由器操作系统,移动【Netkeeper】使用教程校园网

目录 步骤一:正确连接网线,插电开机正确连接网线: 认识系统灯: 插电开机: 步骤二:开机之后,系统的基本设置 1.进入设置界面: 2.设置辅助热点wifi: 3.设置日常…

Mysql InnoDB行锁深入理解

Record Lock记录锁 Record Lock 称为记录锁,锁住的是一条记录。而且记录锁是有 S 锁和 X 锁之分的: 当一个事务对一条记录加了 S 型记录锁后,其他事务也可以继续对该记录加 S 型记录锁(S 型与 S 锁兼容),…

SQL基础知识1

一、基本知识 1、定义 2、语句结构 二、库和表的操作 1、创建、删除库 方法一 在navicat的查询中写 方法二 用mysql命令窗口写 1、用管理员身份运行MySQL的窗口 2、先看一下已经存在的数据库 3、新建数据库 2、导入表 方法一 用dos命令窗口,管理员身份运行…

LeetCode(242)有效的字母异位词⭐

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s "anagram", t "nagaram" 输出: true示例 2: 输…

大前端nestjs入门教程系列(四):如何nestjs整合mysql数据库

经过前面的几篇文章,想必大家已经对nestjs有了基础的了解,那么这篇文章就带大家玩玩数据库,学会了这篇,就离大前端又进了一步 Nest与数据库无关,使你可以轻松地与任何 SQL 或 NoSQL 数据库集成。 根据你的喜好&#xf…

【办公自动化】Window电脑如何设置定时任务计划

在Windows系统中,我们可以使用任务计划程序来创建和管理定时任务。任务计划程序是Windows操作系统自带的一个功能,可以帮助我们自动执行一些重复性的任务,例如备份文件、更新软件等。 一、打开任务计划程序 首先,我们需要打开任…