Python中五个你不知道的print函数用法详解

 更新时间:2026年01月18日 09:26:52   作者:databook  
今天我们来聊聊Python里最 平平无奇却又无处不在的print()函数,作为Python开发者,我们几乎每天都在用它,但你真的了解它的所有玩法吗,下面就跟随小编来看看五个你不知道的print函数用法吧

大家好!今天我们来聊聊Python里最 “平平无奇” 却又无处不在的print()函数。

作为Python开发者,我们几乎每天都在用它,但你真的了解它的所有玩法吗?

其实很多时候,我们只用了它 10% 的功力。

今天,我们就来扒一扒 print 函数的“隐秘角落”。

掌握了它的几个参数,保证让你在同事眼中瞬间变身 Python 资深玩家!

1. 基础玩法:不仅仅是打印一个字符串

如果你把鼠标悬停在 print 函数上,你会发现它的第一个参数其实是 *args(或者叫 *objects)。

那个星号 * 意味着它是 “贪婪” 的--你可以给它塞进一个,甚至无数个对象。

比如:

# 普通玩家
print("毛肚")
print("鸭肠")
print("雪花肥牛")

# 进阶玩家:一次性打印多个
print("毛肚", "鸭肠", "雪花肥牛")
# 输出:毛肚 鸭肠 雪花肥牛

更酷的是,如果你有一个列表,你可以直接通过解包Unpacking)把它“炸”开传给 print

hotpot_list = ["虾滑", "宽粉", "娃娃菜"]
print(hotpot_list)
# 输出:['虾滑', '宽粉', '娃娃菜']

# 加上星号 * 进行解包
print(*hotpot_list)
# 输出:虾滑 宽粉 娃娃菜

加上*号,列表的方括号没了,逗号也没了,直接变成了清爽的空格分隔。

2. 拒绝千篇一律的空格:sep 参数

细心的你可能发现了,上面打印多个元素时,默认是用空格隔开的。

如果你想打印一个日期,或者生成一个 CSV 格式的字符串,空格就显得很尴尬了。

这时候,sepseparator 分隔符)参数闪亮登场。

比如:格式化日期

year = 2026
month = 1
day = 15

# 默认情况
print(year, month, day)
# 输出:2026 1 15 (不太好看)

# 使用 sep 参数
print(year, month, day, sep="-")
# 输出:2026-1-15 (这就对了!)

或者生成一个竖线分割的标题样式:

print("Python", "Java", "C++", sep=" | ")
# 输出:Python | Java | C++

只要你愿意,分隔符可以是任何字符,甚至是一段话

3. 控制结尾的艺术:end 参数

默认情况下,print 函数是个“急性子”,每打印完一次,它都会自动帮我们敲一个回车换行(\n)。

这就是为什么我们连续写三个 print,它们会显示在三行。

但有时候,我们想把两句话连在一起,或者在同一行输出内容,这时就需要 end 参数出马了。

print("凶手其实是", end="......")
print("管家!")
# 输出:凶手其实是......管家!

这样,两行代码的输出无缝衔接在了一起。

注意: 如果你把 end 设置为空字符串或者非换行符,记得在最后适当地加一个换行,否则你的终端提示符可能会尴尬地挤在文字后面。

4. 偷偷记笔录:file 参数

这是很多初学者最容易忽略的参数。

print 默认是将内容输出到 sys.stdout(也就是你的屏幕/控制台),但其实,它完全可以把内容“打印”到文件里。

这就相当于你自己写了一个迷你版的日志记录器(Logger),非常适合快速调试或记录脚本运行结果。

# 打开一个文件用于追加内容
with open("摸鱼日志.txt", "a", encoding="utf-8") as f:
    print("10:00 - 喝了一杯咖啡", file=f)
    print("10:30 - 刷了一会儿推特", file=f)
    print("11:00 - 盯着屏幕发呆", file=f)

print("日志记录完毕,请查看 摸鱼日志.txt")

运行完这段代码,控制台只会显示最后一句提示,而你的 “摸鱼记录” 已经悄悄保存在了 txt 文件里。

虽然对于大型项目我们推荐用 logging 模块,但在这个脚本写的小工具里,用 file 参数简直不要太方便。

5. 拒绝卡顿,实时刷新:flush 参数

最后这个参数 flush,常常让新手摸不着头脑。

计算机为了效率,通常会有 “缓冲区” 的概念。

当你 print 东西时,它不一定会立刻显示在屏幕上,而是攒够了一波再一起吐出来(特别是当你没有换行的时候)。

这会导致有时候你写了代码,屏幕却像卡死了一样半天没反应。

如果你想做一个倒计时或者进度条,就需要将 flush 设置为 True,强制计算机:“别攒了,立刻给我显示出来!”

import time

print("正在入侵系统", end="")

for i in range(5):
    print(".", end="", flush=True) # 关键在这里!
    time.sleep(0.5)

print("\n入侵成功!")

如果你不加 flush=True,你可能会发现屏幕卡顿了 2.5 秒,然后一次性蹦出五个点。

加上之后,你就能看到那种 “嘟...嘟...嘟...” 的动态加载效果了。

6. 总结

虽然在 90% 的日常开发中,我们只需要最简单的 print(x),但编程的乐趣往往隐藏在剩下的 10% 里。

  • *args:让你可以一次打印多个宝贝,或者解包列表。
  • sep:让你自定义元素之间的胶水。
  • end:让你控制话有没有说完(换不换行)。
  • file:让你把话悄悄说给文件听。
  • flush:让你拒绝延迟,即刻兑现。

掌握了这些,下次有机会就给同事露一手!

到此这篇关于Python中五个你不知道的print函数用法详解的文章就介绍到这了,更多相关Python print函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python代理抓取并验证使用多线程实现

    Python代理抓取并验证使用多线程实现

    这里没有使用队列只是采用多线程分发对代理量不大的网页还行但是几百几千性能就很差了,感兴趣的朋友可以了解下,希望对你有所帮助
    2013-05-05
  • Python编程中用close()方法关闭文件的教程

    Python编程中用close()方法关闭文件的教程

    这篇文章主要介绍了Python编程中用close()方法关闭文件的教程,是Python编程入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • pytorch 数据预加载的实现示例

    pytorch 数据预加载的实现示例

    在PyTorch中,数据加载和预处理是深度学习中非常重要的一部分,本文主要介绍了pytorch 数据预加载的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • 用Python将一个列表分割成小列表的实例讲解

    用Python将一个列表分割成小列表的实例讲解

    今天小编就为大家分享一篇用Python将一个列表分割成小列表的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python中bs4.BeautifulSoup的基本用法

    python中bs4.BeautifulSoup的基本用法

    这篇文章主要介绍了python中bs4.BeautifulSoup的基本用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python调用Matplotlib绘制分布点图

    python调用Matplotlib绘制分布点图

    这篇文章主要为大家详细介绍了python调用Matplotlib绘制分布点图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • python入门字符串拼接\截取\转数字理解学习

    python入门字符串拼接\截取\转数字理解学习

    本篇内容我们主要讲有关Python字符串的用法,包括字符串的拼接、字符串怎么转数字、字符串的格式化、字符串函数等内容,有需要的朋友可以借鉴参考下
    2021-09-09
  • 在django admin中配置搜索域是一个外键时的处理方法

    在django admin中配置搜索域是一个外键时的处理方法

    这篇文章主要介绍了在django admin中配置搜索域是一个外键时的处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 基于python实现rpc远程过程调用

    基于python实现rpc远程过程调用

    本文主要介绍了基于python实现rpc远程过程调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 利用python获取当前日期前后N天或N月日期的方法示例

    利用python获取当前日期前后N天或N月日期的方法示例

    最近在工作中遇到一个需求,查找资料发现了一个很好的时间组件,所以下面这篇文章主要给大家介绍了关于利用python获取当前日期前后N天或N月日期的方法示例,需要的朋友们可以参考借鉴,下面来一起看看吧。
    2017-07-07

最新评论