当前位置: 首页 > news >正文

Python中print函数的八重境界

1. 引言

在Python语言的学习过程中,print函数可能是我们大多数人学习会的第一个函数。但是该函数有一些特殊的用法,本文重点介绍使用该函数的八重境界。

闲话少说,我们直接开始吧!

2. Level1 基础用法

函数print最最基础的用法就是按照我们的要求,打印相应的内容。如下所示:

print("hello")
# hello

上述代码,传入一串字符串,运行后在终端输出显示。

3. Level2 打印多个参数

如果我们向print函数传递多个参数,那么在运行时,该函数会在打印的参数之间自动插入空白字符。
如下所示:

print("apple", "orange", "pear")
# apple orange pear

4. Level3 使用end参数

实质上,函数print的默认参数有结束符end,主要用于分割打印内容。举例如下:

print("apple", end=" ")
print("orange", end=" ")
print("pear", end=" ")
# apple orange pear

默认情况下,函数print中参数end的默认值为\n。如果我们传入其他值,那么print函数将会使用参数end的字符添加到打印内容的末尾。
举例如下:

print("apple", end=";")
print("orange", end="!!")
print("pear", end="end")
# apple;orange!!pearend

5. Level4 使用sep参数

一般来说,函数print中的参数sep分割符,默认值为空格字符 " ", 参数sep主要用于添加到print函数的多个参数之间。
举例如下:

print(1, 2, 3)            # 1 2 3   # default sep is " "
print(1, 2, 3, sep=";")   # 1;2;3
print(1, 2, 3, sep="#")   # 1#2#3
print(1, 2, 3, sep="4")   # 14243

6. Level5 使用pprint

如果我们有一个具有多层嵌套的复杂数据结构,此时我们可以使用pprint来打印它,而不是编写一个for循环来可视化它。
举例如下:

from pprint import pprint
data = [
    [[1, 2, 3], [1, 2, 3], [1, 2, 3]],
    [[4, 5, 6], [4, 5, 6], [4, 5, 6]],
    [[7, 8, 9], [7, 8, 9], [7, 8, 9]]
]
pprint(data)

输出如下:

在这里插入图片描述

7. Level6 彩色输出

想要在Python中打印彩色输出,我们一般使用第三方库colorama。这意味着我们首先需要使用pip安装它。
在终端中运行pip install colorama就可以方便地来安装它啦。
样例如下:

from colorama import Fore
print(Fore.RED + "hello world")
print(Fore.BLUE + "hello world")
print(Fore.GREEN + "hello world")

输出如下:

在这里插入图片描述

8. Level7 输出到文件中

默认情况下,函数print的参数file的默认值为sys.stdout。这意味着我们可以使用print函数打印的任何内容都会在终端显示。
当然,我们也可以改变改参数的值,将相应的打印内容输出到文件中,举例如下:

print("hello", file=open("out.txt", "w"))

9. Level8 输出重定向到文件中

假设我们运行了一个普通的Python脚本run.py,输出打印一些东西:

print("hello world")
print("apple")
print("orange")
print("pear")

接着,我们可以改变运行Python脚本的方式,使其输出重定向到文件中,如下:

python run.py > out.txt

上述命令执行后,输出不是打印显示到终端,而是将Python脚本的所有输出打印重定向到文本文件out.txt中。

10. 总结

本文详细的介绍了Python中打印函数print的各个参数的用法,并由浅入深的对其特性进行了相应的讲解,并给出了相应的代码示例。

您学废了嘛?

相关文章:

  • Day20_9 前端入门之CSS样式
  • GraphicsMagick之实践出真知
  • 内核中oops 错误解析以及问题定位
  • 什么是前端脚手架?脚手架原理?
  • 网络安全笔记-网络设备专场(路由器、交换机、防火墙)
  • Typescript基本语法介绍
  • 什么是元宇宙?
  • Linux 模块管理方法之 DKMS
  • 【由果索因】模块化代码后,这样的JavaScript技巧才值得用
  • 计算机网络知识点总结(每日更新)
  • 免费题库接口
  • 盘点十个让工作效率倍增且有趣的 Python工具包
  • 内联函数——C++
  • 数据结构-线性表
  • vue3.0--2.watch、vue3生命周期函数、Teleport、自定义事件、状态驱动的动态 CSS、Suspense
  • php的引用
  • angular2 简述
  • ECMAScript入门(七)--Module语法
  • es6(二):字符串的扩展
  • EventListener原理
  • extjs4学习之配置
  • go语言学习初探(一)
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • learning koa2.x
  • mysql 5.6 原生Online DDL解析
  • Python 基础起步 (十) 什么叫函数?
  • React Transition Group -- Transition 组件
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • RxJS: 简单入门
  • windows-nginx-https-本地配置
  • 机器学习 vs. 深度学习
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 设计模式走一遍---观察者模式
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 我建了一个叫Hello World的项目
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 智能合约开发环境搭建及Hello World合约
  • ​Linux·i2c驱动架构​
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (安卓)跳转应用市场APP详情页的方式
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (二)WCF的Binding模型
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (离散数学)逻辑连接词
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (万字长文)Spring的核心知识尽揽其中
  • (转)EXC_BREAKPOINT僵尸错误
  • ***测试-HTTP方法
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .NET Core引入性能分析引导优化
  • .NET Micro Framework初体验(二)
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】