吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 816|回复: 24
上一主题 下一主题
收起左侧

[学习记录] Python 中的 print 用法有哪些?

[复制链接]
跳转到指定楼层
楼主
简讯 发表于 2023-12-26 10:19 回帖奖励

print() 函数可以说是我们接触 Python 编程用到的第一个函数,初学 Python,想必我们都写过这样一行代码:

print("Hello, World!")

但是慢慢的,print() 函数大多数情况已经成为我们的“日志打印”工具了。这篇文章将介绍几个 print() 函数不为人知的用法,看看你用过或者了解几个?

sep

print(1, 2, 3)
# 1 2 3

print(1, 2, 3, sep='-')
# 1-2-3

print(1, 2, 3, sep='|||')
# 1|||2|||3

我们可以使用 sep 关键字参数来控制 print() 中要打印的内容之间用什么字符或者字符串分隔。

使用 print() 写入文件

这个功能应该很少人用到吧,我第一次看到这个用法的时候稍微有点震惊,没想到 print() 函数还能这么用。

with open('test.txt', 'a') as f:
  print('apple', file=f)

在这里,我们的 print() 函数不会将苹果输出到终端,而是写入文本文件 test.txt。

end

一般情况下 print() 函数打印结果是这样的:

print('apple')
print('orange')
print('pear')

# apple
# orange
# pear

但是如果在结尾添加了 end 参数,那么输出结果就会大不相同:

print('apple', end=' ')
print('orange', end=' ')
print('pear', end=' ')

# apple orange pear

print('apple', end='---')
print('orange', end='---')
print('pear', end='---')

# apple---orange---pear---

print()中,默认使用换行符来结尾,我们可以使用 end 关键字参数来控制打印内容后面的内容。

使用 Colorama 进行彩色输出

输出不只有黑白色,如果我们需要彩色的打印方式,可以尝试用下列代码来实现:

from colorama import Fore

print(Fore.RED + 'apple')
print(Fore.BLUE + 'orange')
print(Fore.GREEN + 'pear')

如果代码报错,需要先用 pip install colorama 安装第三方 colorama Python 库。

彩色输出,不带 colorama

如果我们不想使用 colorama 来实现彩色打印,我们可以这样写,不过可能比较麻烦一些,因为你需要了解每种颜色的  ANSI 转义字符。

print('\x1b[31mapple')
print('\x1b[34morange')
print('\x1b[32mpear')

我们打印出来的奇怪东西实际上是 ANSI 转义字符,代表颜色。而 colorama 其实只是将它们存储起来,这样我们就不用经常查找了。只要我们知道正确的 ANSI 转义字符,我们就能打印出彩色的字符串,而 colorama 只是让我们的编码变得更轻松。

取消打印内容

如果我们打印一串字符,但是一段时间或者一些条件下,我们想取消打印,该如何操作?

import time

CURSOR_UP = '\033[1A'
CLEAR = '\x1b[2K'

print('apple')
print('orange')
print('pear')

time.sleep(3)

print((CURSOR_UP + CLEAR), end='')
print('pineapple')

# apple
# orange
# pineapple

可以自己创建文件尝试一下这种写法,一开始会打印 apple,orange 和 pear,但是 3 秒之后,pear 不见了,继续打印 pineapple。CURSOR_UP 将光标上移一行,CLEAR 清除光标所在的整行,他们相加从而取消打印一整行。

pprint

pprint 模块提供了“美化打印”任意 Python 数据结构的功能,这种美化形式可用作对解释器的输入。

下面的图片直观的解释了 print()pprint() 的区别。美化了输出。

免费评分

参与人数 4吾爱币 +6 热心值 +3 收起 理由
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
soughing + 1 + 1 我很赞同!
石淞元 + 1 用心讨论,共获提升!
fzhhn + 1 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
dqjyj 发表于 2023-12-26 10:30
很实用啊,正在学python
3#
meizhonghao 发表于 2023-12-26 10:31
4#
CrashOn42 发表于 2023-12-26 10:34
5#
xx98691 发表于 2023-12-26 10:37
刚开始学python,我竟然看懂了
6#
Cacarot 发表于 2023-12-26 10:39
不错,学了个新方法
7#
52soft 发表于 2023-12-26 10:48
print 还有format格式化输出
8#
WesleyYe 发表于 2023-12-26 10:51
meizhonghao 发表于 2023-12-26 10:31
好家伙,52被玩成博客了

哈哈哈哈
9#
flylujun 发表于 2023-12-26 11:01
谢谢 ,学习了
10#
shanwan1105 发表于 2023-12-26 11:05
面的图片直观的解释了 print() 和 pprint() 的区别。美化了输出。  然而图呢。。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-29 17:15

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表