Python的print使用解析

作者:

文章目录
  • 如果你把鼠标悬停在 print 函数上,你会发现它的第一个参数其实是 *args(或者叫 *objects)。 那个星号 * 意味着它是 “贪婪” 的–你可以给它塞进一个,甚至无数个对象。 比如: # 普通玩家 print(“毛肚”) print(“鸭肠”) print(“雪花肥牛”) # 进阶玩家:一次性打印多个 print(“毛肚”, “鸭肠”, “雪花肥牛”) # 输出:毛肚 鸭肠 雪花肥牛 更酷的是,如果你有一个列表,你可以直接通过解包(Unpacking)把它“炸”开传给 print: hotpot_list = [“虾滑”, “宽粉”, “娃娃菜”] print(hotpot_list) # 输出:[‘虾滑’, ‘宽粉’, ‘娃娃菜’] # 加上星号 * 进行解包 print(*hotpot_list) # 输出:虾滑 宽粉 娃娃菜 加上*号,列表的方括号没了,逗号也没了,直接变成了清爽的空格分隔。
  • 细心的你可能发现了,上面打印多个元素时,默认是用空格隔开的。 如果你想打印一个日期,或者生成一个 CSV 格式的字符串,空格就显得很尴尬了。 这时候,sep(separator 分隔符)参数闪亮登场。 比如:格式化日期 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++ 只要你愿意,分隔符可以是任何字符,甚至是一段话。
  • 默认情况下,print 函数是个“急性子”,每打印完一次,它都会自动帮我们敲一个回车换行(n)。 这就是为什么我们连续写三个 print,它们会显示在三行。 但有时候,我们想把两句话连在一起,或者在同一行输出内容,这时就需要 end 参数出马了。 print(“凶手其实是”, end=”……”) print(“管家!”) # 输出:凶手其实是……管家! 这样,两行代码的输出无缝衔接在了一起。 注意: 如果你把 end 设置为空字符串或者非换行符,记得在最后适当地加一个换行,否则你的终端提示符可能会尴尬地挤在文字后面。
  • 这是很多初学者最容易忽略的参数。 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 参数简直不要太方便。
  • 最后这个参数 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 秒,然后一次性蹦出五个点。 加上之后,你就能看到那种 “嘟…嘟…嘟…” 的动态加载效果了。
  • 虽然在 90% 的日常开发中,我们只需要最简单的 print(x),但编程的乐趣往往隐藏在剩下的 10% 里。 *args:让你可以一次打印多个宝贝,或者解包列表。 sep:让你自定义元素之间的胶水。 end:让你控制话有没有说完(换不换行)。 file:让你把话悄悄说给文件听。 flush:让你拒绝延迟,即刻兑现。 到此这篇关于python基础语法的文章就介绍到这了,更多相关python基础语法内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: python中的print()函数end=' '的使用及说明 python获取异常信息exc_info和print_exc的使用 Python print函数使用由浅入深全面详解 Python中print()函数使用实例详解 Python编程不要再使用print调试代码了 Python如何使用print()函数输出格式化字符串 python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例 Python 3中print函数的使用方法总结
  • 目录
    • 1. 基础玩法:不仅仅是打印一个字符串
    • 2. 拒绝千篇一律的空格:sep 参数
    • 3. 控制结尾的艺术:end 参数
    • 4. 偷偷记笔录:file 参数
    • 5. 拒绝卡顿,实时刷新:flush 参数
    • 6. 总结

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

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

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

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

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

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

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

    比如:

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

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

    hotpot_list = ["虾滑", "宽粉", "娃娃菜"]
    print(hotpot_list)
    # 输出:['虾滑', '宽粉', '娃娃菜']
    # 加上星号 * 进行解包
    print(*hotpot_list)
    # 输出:虾滑 宽粉 娃娃菜

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

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

    如果你想打印一个日期,或者生成一个 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++

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

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

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

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

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

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

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

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

    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 参数简直不要太方便。

    最后这个参数 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 秒,然后一次性蹦出五个点。

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

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

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

    到此这篇关于python基础语法的文章就介绍到这了,更多相关python基础语法内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • python中的print()函数end=' '的使用及说明
    • python获取异常信息exc_info和print_exc的使用
    • Python print函数使用由浅入深全面详解
    • Python中print()函数使用实例详解
    • Python编程不要再使用print调试代码了
    • Python如何使用print()函数输出格式化字符串
    • python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
    • Python 3中print函数的使用方法总结

    站内搜索