别小看Python的【print】函数,这些高级用法你知道吗?

news2024/12/23 13:10:36

文章目录

  • 引言
  • 技巧1:格式化输出
    • 示例1:使用%s来插入字符串,使用%d来插入整数
    • 示例2:使用字符串的format()方法
    • 示例3:使用f-string格式化输出
  • 技巧2:控制输出文本的颜色
  • 技巧3:将打印结果重定向至文本文件
    • 示例1:将指定字符串重复N次输出到文本文件中, 每个字符串各占一行
    • 示例2:将列表[1,2,3,4,5]中的元素依次输出到文本文件中, 元素之间用制表符间隔
  • 技巧4:自定义分隔符和结束符
  • 结束语

print函数中文文档

引言

Python的print函数,不仅是编写代码时的得力助手,更是我们快速洞察变量值、呈现关键信息的明亮灯塔。除了基础的输出功能,print函数还拥有一系列深藏不露的高级技巧,它们如同魔法一般,等待有心人的探索。让我们一同走进这个神秘的魔法世界,解锁print函数的无限可能,让你在Python编程中如鱼得水,游刃有余。

技巧1:格式化输出

示例1:使用%s来插入字符串,使用%d来插入整数

示例代码

name = "John Smith"  
age = 25
print("My name is %s and I am %d years old." % (name, age))

打印结果

在这里插入图片描述
在上面的代码中,我们使用%s来插入name变量的值,使用%d来插入age变量的值。

示例2:使用字符串的format()方法

示例代码

name = "John Smith"
age = 25
print("My name is {} and I am {} years old.".format(name, age))

打印结果

在这里插入图片描述

在上面的代码中,我们使用{}来指定需要插入的变量位置,然后在调用format()方法时传入相应的变量。

示例3:使用f-string格式化输出

示例代码

name = "John Smith"  
age = 25  
print(f"My name is {name} and I am {age} years old.")

打印结果

在这里插入图片描述
在上面的代码中,我们直接在字符串中使用{}来指定需要插入的变量位置,然后在调用print()函数时直接传入相应的变量。

技巧2:控制输出文本的颜色

在Python中,我们可以使用ANSI转义序列来改变打印文本的颜色。

示例代码

# 定义颜色代码
colors = {
    'red': '\033[91m',
    'green': '\033[92m',
    'yellow': '\033[93m',
    'blue': '\033[94m',
    'magenta': '\033[95m',
    'cyan': '\033[96m',
    'white': '\033[97m',
    'default': '\033[99m',
    'light_gray': '\033[37m',
    'dark_gray': '\033[90m',
}

# 重置颜色代码
reset_color = '\033[0m'

# 需要打印的字符串
text = "My name is John Smith and I am 25 years old."

# 循环遍历所有颜色并打印字符串
for color_name, color_code in colors.items():
    print(color_code + text + reset_color)
    print(f"The above text is printed in {color_name}.")

打印结果

My name is John Smith and I am 25 years old.
The above text is printed in red.
My name is John Smith and I am 25 years old.
The above text is printed in green.
My name is John Smith and I am 25 years old.
The above text is printed in yellow.
My name is John Smith and I am 25 years old.
The above text is printed in blue.
My name is John Smith and I am 25 years old.
The above text is printed in magenta.
My name is John Smith and I am 25 years old.
The above text is printed in cyan.
My name is John Smith and I am 25 years old.
The above text is printed in white.
My name is John Smith and I am 25 years old.
The above text is printed in default.
My name is John Smith and I am 25 years old.
The above text is printed in light_gray.
My name is John Smith and I am 25 years old.
The above text is printed in dark_gray.

在上面的代码中,我们使用10种不同的颜色来打印同样的字符串,并在每次打印后输出所使用的颜色名称。在每次打印后,它都会使用reset_color变量来重置颜色,以确保后续的输出不会受到之前颜色的影响。

技巧3:将打印结果重定向至文本文件

示例1:将指定字符串重复N次输出到文本文件中, 每个字符串各占一行

text = "hello world!!"

N = 10
# 使用print的file参数将输出重定向到文本文件
with open('output.txt', 'w') as file:
    for i in range(N):
        print(text, file=file)

运行结果
在这里插入图片描述
在上面的代码中,我们打印10次同样的字符串hello world!!,并将打印结果保存在文本文件output.txt中。

示例2:将列表[1,2,3,4,5]中的元素依次输出到文本文件中, 元素之间用制表符间隔

示例代码

my_list = [1, 2, 3, 4, 5]

with open('output.txt', 'w') as file:
    for v in my_list:
        print(v, file=file, end='\t')

运行结果
在这里插入图片描述
在上面的代码中,将列表[1,2,3,4,5]中的元素依次输出到文本文件output.txt中, 通过end参数指定元素之间用制表符间隔。

技巧4:自定义分隔符和结束符

默认情况下,print函数使用空格作为参数之间的分隔符,使用换行符作为结束符。可以通过sepend参数来自定义分隔符和结束符。

示例代码

print("Hello", "World", sep="+++", end="---")

运行结果

在这里插入图片描述

在上面的代码中,我们指定利用seq参数指定+++作为分隔符,利用end参数指定---作为结束符。

结束语

  • 亲爱的读者,感谢您花时间阅读我们的博客。我们非常重视您的反馈和意见,因此在这里鼓励您对我们的博客进行评论。
  • 您的建议和看法对我们来说非常重要,这有助于我们更好地了解您的需求,并提供更高质量的内容和服务。
  • 无论您是喜欢我们的博客还是对其有任何疑问或建议,我们都非常期待您的留言。让我们一起互动,共同进步!谢谢您的支持和参与!
  • 我会坚持不懈地创作,并持续优化博文质量,为您提供更好的阅读体验。
  • 谢谢您的阅读!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是Maven?

什么是Maven 1、Maven是依赖管理、项目构建工具。 pom.xml springBoot项目的核心配置文件,pom项目对象模型、Dependency依赖管理模型。 Maven中的GAVP是指: 1、GroupId:当前工程组织id,例如:com.jd.tddl 2、ArtifactI…

Redis-对象

参考资料 极客时间Redis(亚风) Redis对象 String • 基本编码⽅式是RAW,基于简单动态字符串(SDS)实现,存储上限为512mb。 • 如果存储的SDS⻓度⼩于44字节,则会采⽤EMBSTR编码,此…

QT:Unable to create a debugging engine.

debug跑不了: 报错:Unable to create a debugging engine. 参考: https://blog.csdn.net/u010906468/article/details/104716198 先检查是否安装了DEBUG插件 工具-》》选项 查看插件,如果没有的话,需要重新安装qt时…

计算机操作系统-第十七天

目录 处理机调度 调度的基本概念 作业 高级调度(作业调度) 中级调度(内存调度) 低级调度(进程调度/处理机调度) 进程的挂起态与七状态模型 挂起和阻塞的区别 三层调度的联系和对比 本节思维导图…

SDN控制器-ONOS中的最终一致性存储

ONOS中的数据存储基本上都是以KV进行存储的。按照一致性强弱类型可以分为强一致性存储(strong consistency)与弱一致性存储(eventually consistency)。 比较典型的,如ONOS中对于设备接口的存储,使用的是强…

XXE漏洞 [NCTF2019]Fake XML cookbook1

打开题目 查看源代码 发现我们post传入的数据都被放到了doLogin.php下面 访问一下看看 提示加载外部xml实体 bp抓包一下看看 得到flag 或者这样 但是很明显这样是不行的,因为资源是在admin上,也就是用户名那里 PHP引用外部实体,常见的利用…

【23-24 秋学期】NNDL 作业11 LSTM

目录 习题6-4 推导LSTM网络中参数的梯度, 并分析其避免梯度消失的效果 习题6-3P 编程实现下图LSTM运行过程 (一)numpy实现 (二)使用nn.LSTMCell实现 (三) 使用nn.LSTM实现 总结 &#x…

PMI相关证书的获取步骤及注意内容

近几年很多行业的从业人员都在考取PMI项目管理相关证书,可在中国大陆地区参加考试的认证主要有:PMP, PgMP, PMI-RMP, PMI-ACP, PMI-PBA, CAPM。PfMP, PMI-SP尚未在中国大陆地区开放考试。 现整理该类证书的相关获取步骤及注意内容 一、证书获取步骤 S…

动态规划(Dynamic Programming)

动态规划(Dynamic Programming):是运筹学的一种最优化方法,只不过在计算机问题上应用比较多 DP常见步骤: 暴力递归/穷举记忆化搜索(傻缓存 递归),使用备忘录/ DP Table 来优化穷举过程严格表结…

锁--07_2---- index merge(索引合并)引起的死锁

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 案例分析生产背景死锁日志表结构执行计划 EXPLAN为什么会用 index_merge(索引合并)为什么用了 index_merge就死锁了解决方案注:M…

SQL基础:操作环境搭建

在上一节中,我们简单讲述了数据库和SQL的基本概念。 本节我们讲述一下环境搭建,为下一节讲表的基本操作做下铺垫。 环境搭建 具体到操作,我们就要准备一些环境了。如果不进行练习,我们学习的知识将很快被遗忘。 MySQL安装&…

如何使用Lychee结合内网穿透搭建本地私人图床网站并实现远程访问

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站,可以看做是云存储的一部分,既可…

四舍五入浮点数

1.题目如下: 2.方法一: 直接取出小数部分第一位来判断。 1. 先乘以10。 2. 强制类型转换为整型,去掉小数部分。 3. 再模10,相当于取出原数的小数第一位。 代码实现: int way1(double n) {int a (int)(n * 10);int b…

kafka学习笔记--Kafka副本

本文内容来自尚硅谷B站公开教学视频,仅做个人总结、学习、复习使用,任何对此文章的引用,应当说明源出处为尚硅谷,不得用于商业用途。 如有侵权、联系速删 视频教程链接:【尚硅谷】Kafka3.x教程(从入门到调优…

一些关于fMRI脑数据的预处理工具

一些关于fMRI脑数据的预处理工具 前言概述SPM12工具箱FSL工具箱FreeSurfer工具箱BrainNet Viewer工具箱circularGraph工具箱Nipype集成框架fMRIPrep集成框架参考文献 前言 March 25, 2022 这里是关于fMRI脑数据的预处理工具的相关调研 主要是关于数据的预处理,数据…

万兆网络之屏蔽线序接法(中)

在介绍优质网线选购之前,先简单介绍一下水晶头 1毛钱一颗跟1元一颗的水晶头,往往是金手指厚度差别,你可以想象压制的时候可能会有什么情况 另外,一些3元一颗的镀金水晶头会有15U、30U之类的是电镀厚度单位,数值越大镀…

【数据挖掘】国科大苏桂平老师数据库新技术课程作业 —— 第四次作业

云数据库研究 云计算与云数据库背景 云计算(cloud computing)是 IT 技术发展的最新趋势,正受到业界和学术界的广泛关注。云计算是在分布式处理、并行处理和网格计算等技术的基础上发展起来的,是一种新兴的共享基础架构的方法。它…

java内置的数据结构

Java语言提供了许多内置的数据结构,包括: 1. 数组(Array):数组是最基本的数据结构之一,它是一个有序的元素集合,每个元素都有一个对应的索引。在Java中,数组可以通过声明和初始化来创…

2023年金属非金属矿山(地下矿山)安全管理人员证模拟考试题库及金属非金属矿山(地下矿山)安全管理人员理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2023年金属非金属矿山(地下矿山)安全管理人员证模拟考试题库及金属非金属矿山(地下矿山)安全管理人员理论考试试题是由安全生产模拟考试一点通提供,金属非金…

《软件方法(下)》第8章2023版8.1 分析工作流概述

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 第8章 分析 之 分析类图——知识篇 墙上挂了根长藤,长藤上面挂铜铃 《长藤挂铜铃》;词:元庸,曲:梅翁(姚敏&…