Python print()函数的用法举例详讲

 更新时间:2025年12月26日 11:21:16   作者:捣蛋大队  
在python我们经常会使用到print(),尤其是在打印可迭代对象时,更是少不了用print()进行输出,这篇文章主要介绍了Python print()函数用法的相关资料,需要的朋友可以参考下

前言

在 Python 编程中,print()函数是最基础、最常用的输出工具,无论是调试代码、查看变量值,还是展示程序结果,都离不开它。但很多初学者只掌握了print("Hello World")这种简单用法,却不知道它还有诸多灵活的参数和实用技巧。本文将从基础到进阶,全面拆解print()函数的用法,结合实例帮你彻底掌握!

一、print () 函数核心作用

print()函数的核心功能是将指定内容输出到控制台(默认)或其他指定位置(如文件),是 Python 中用于 “信息展示” 的核心工具。

二、基础用法:直接输出单个内容

最简洁的用法的是直接输出单个字符串、数字、变量等。

语法格式:

print(输出内容)

示例 1:输出字符串

单引号 / 双引号 / 三引号均可

# 单引号、双引号无区别
print("Hello Python!")  # 输出:Hello Python!
print('Python 入门教程')  # 输出:Python 入门教程

# 三引号支持多行字符串
print("""这是第一行
这是第二行
这是多行字符串输出""")

示例 2:输出数字、变量或表达式结果

# 输出数字
print(123)  # 输出:123
print(3.14159)  # 输出:3.14159

# 输出变量
name = "CSDN博主"
print(name)  # 输出:CSDN博主

# 输出表达式结果
a = 10
b = 20
print(a + b)  # 输出:30(直接计算表达式并输出结果)

三、关键特性:多参数输出与字符串自动拼接

print()函数支持同时传入多个参数(用逗号分隔),也支持相邻字符串字面量自动拼接,这是初学者容易混淆但非常实用的特性。

1. 多参数输出:默认空格分隔

print()传入多个参数时,参数之间会默认用空格分隔,无需手动添加空格。

示例:

# 多字符串参数
print("哈", "基", "米")  # 输出:哈 基 米(默认空格分隔)

# 混合类型参数(字符串+变量+数字)
name = "小明"
age = 20
print("姓名:", name, "年龄:", age)  # 输出:姓名: 小明 年龄: 20

2. 字符串自动拼接:相邻字面量无需加号

如果直接将多个字符串字面量(用引号包裹的内容)相邻写在print()中,无需使用+号,Python 会自动将它们拼接成一个字符串。

示例:

# 单引号、双引号混合相邻,自动拼接
print("123""456"'789')  # 输出:123456789(无分隔符,直接拼接)

# 注意:变量不能直接相邻拼接,会报错!
str1 = "abc"
str2 = "def"
# print(str1 str2)  # 报错:SyntaxError(变量必须用+号或逗号连接)
print(str1 + str2)  # 正确:输出abcdef(用+号拼接变量)

两者区别总结:

用法示例输出结果核心区别
多参数(逗号分隔)print("a", "b", 123)a b 123不同类型参数可混传,默认空格分隔
字符串自动拼接print("a""b""123")ab123仅支持字符串字面量,无分隔符直接拼接

四、自定义分隔符:sep 参数

默认情况下,多参数输出用空格分隔,但print()sep参数允许我们自定义分隔符(如逗号、横线、波浪线等),sep 参数必须放在所有位置参数之后

语法格式:

print(参数1, 参数2, 参数3, ..., sep="自定义分隔符")

示例:

# 用波浪线分隔
print("南", "北", "绿", "豆", sep="~")  # 输出:南~北~绿~豆

# 用逗号+空格分隔(模拟CSV格式)
print("姓名", "年龄", "城市", sep=", ")  # 输出:姓名, 年龄, 城市

# 用空字符串分隔(等同于字符串拼接,但支持多类型参数)
print("Hello", "Python", sep="")  # 输出:HelloPython

# 用横线分隔
print("2025", "11", "29", sep="-")  # 输出:2025-11-29

注意事项:

  • sep只能接收字符串类型的值,不能是数字(如sep=123会报错);

  • sep必须放在最后一个位置参数之后(比如print(a, b, sep="~")正确,print(sep="~", a, b)报错)。

五、控制结尾字符:end 参数

默认情况下,每个print()函数执行后都会自动换行(结尾添加\n换行符),但end参数允许我们自定义结尾字符,实现 “不换行输出” 或 “自定义结尾符号”。

语法格式:

print(输出内容, end="自定义结尾字符")

示例:

# 1. 自定义结尾为冒号(替代默认换行)
print("我是", end=":")
print("奶龙")  # 输出:我是:奶龙(两行输出合并为一行)

# 2. 结尾添加空格(多print输出不换行且空格分隔)
print("Python", end=" ")
print("Java", end=" ")
print("C++")  # 输出:Python Java C++

# 3. 结尾添加换行符(默认行为,可显式指定)
print("第一行", end="\n")
print("第二行")  # 输出:
# 第一行
# 第二行

# 4. 结尾添加特殊符号
print("加载中", end="...")
print("完成")  # 输出:加载中...完成

六、字符串中插入变量

1、格式化:str.format() 方法

str.format() 格式化方法,用 { } 作为占位符,通过 .format() 填充,支持多种参数格式。

基础用法:

name = "Bob"
age = 20
print("My name is {}, and I am {} years old.".format(name,age))
# My name is Bob, and I am 20 years old.

进阶用法:

位置参数:{0} 、{1} 指定顺序

print("My name is {1}, and I am {0} years old.".format(20,"Bob"))
# My name is Bob, and I am 20 years old.

关键字参数:{name}、{age} 直接使用变量名

print("My name is {name}, and I am {age} years old.".format(name="Charlie", age=35))
# My name is Charlie, and I am 35 years old.

格式化数值:控制小数位数

格式语法:{数值:.nf}n 是要保留的小数位数,f 表示浮点数格式),自动四舍五入,不足位数补 0,多余位数截断(四舍五入规则)。

print("The value is {:.2f}".format(3.14159))  # 保留两位小数
# 输出:The value is 3.14

print("保留3位小数(不足补0):{:.3f}".format(5.2))
# 输出:保留3位小数(不足补0):5.200

print("整数转 2 位小数格式:{:.2f}".format(10))
# 输出:整数转 2 位小数格式:10.00

2、最推荐:f-string(Python 3.6+)

在字符串前加 f ,直接在 {} 里插入变量,简洁高效,可读性强,是Python 3.6+的官方推荐方式。

基础用法:

name = "Eve"
age = 22
print(f"My name is {name}, and I am {age} years old.")
# My name is Eve, and I am 22 years old.

格式化数值:

height = 1.724
print(f"My height is {height:.2f} meters.")  # 保留两位小数
# My height is 1.72 meters.

表达式计算:

age = 22
print(f"In 5 years, I will be {age + 5} years old.")
# In 5 years, I will be 27 years old.

变量名+值输出 (调试神器)

name = "Jack"
age = 21
print(f"{name=} {age=}")  # 输出: name='Jack' age=21

七、进阶用法:file 与 flush 参数

除了基础的输出控制,print()还有两个实用的进阶参数:file(指定输出目标)和flush(强制刷新缓冲区)。

1. file 参数:输出到文件(而非控制台)

print() 函数中 file 参数默认值为 sys.stdout,将内容输出到控制台,但可通过 file 参数指定文件对象,将内容直接写入文件,而不输出在控制台。

示例:

# 1. 打开文件(如果不存在则创建,存在则覆盖)
# w 表示写入模式(覆盖)
with open("output.txt", "w", encoding="utf-8") as f:    
    # 输出到文件  文件对象f即为output.txt文件
    print("这是写入文件的内容", file=f)  
    print("Python print()函数教程", file=f)

# 验证:读取文件内容
# r 表示只读模式
with open("output.txt", "r", encoding="utf-8") as f:
    content = f.read()  # 读取文件对象f的全部内容
    print(content)  # 控制台输出文件内容
    # 这是写入文件的内容
    # Python print()函数教程

说明:

  • open(文件名, 打开模式, encoding="utf-8") 会帮我们 “打开 / 创建” 一个文件,并返回一个可操作的 “文件对象”(比如用变量f接收)。

  • file参数要求传入的是「文件对象」,不是单纯的文件名(比如不能写file="output.txt",会报错)。

2. flush 参数:强制刷新缓冲区

在默认情况下,print()输出会先存入缓冲区,等满足条件后再批量输出(遇到换行符、缓冲区满、程序结束等),这样减少 I/O 操作次数,提升程序效率。flush=True可强制立即刷新缓冲区,无视默认触发条件,立即输出,不等待,适用于实时输出场景(如进度条、实时日志)。

示例(默认):

import time

# 不使用flush(默认缓冲,可能一次性输出)
print("加载中", end="")
time.sleep(2)  # 暂停2秒
print("完成")  # 2秒后一次性输出:加载中完成

实际效果:

暂停 2 秒后,才一次性显示「加载中... 完成」—— 因为 “加载中...” 被存到了缓冲区,没立刻输出,直到第二个print()触发了缓冲区刷新,才一起显示。

示例(flush刷新):

import time

# 使用flush=True(强制立刻输出)
print("加载中...", end="", flush=True)  # 立刻输出“加载中...”,不缓冲
time.sleep(2)  # 暂停2秒,此时“加载中...”已经显示在控制台了
print("完成")

实际效果:

立刻显示「加载中...」,暂停 2 秒后,在后面追加「完成」

注意:

  • flush参数是布尔值(只有TrueFalse两个值),不能写flush=1flush="True"(会报错);

  • 不用所有场景都加flush=True:默认缓冲是为了提升效率,只有需要 “实时输出” 时才用,否则会增加 I/O 操作,降低程序速度;

  • flushend常一起用:因为end=""会取消默认的换行符\n(而\n会触发缓冲区刷新),所以需要flush=True来强制立刻输出。

  • 建议在终端环境中运行:直接在IDE(如PyCharm)中运行,默认情况可能与flush刷新效果一致,IDE通常会自动设置-u标志(无缓冲模式),所以默认会立即显示"加载中...",然后等待2秒后显示"完成"

八、总结

print()函数看似简单,但其灵活的参数(sependfile等)能满足大部分输出场景。

本文总结核心要点:

  • 基础用法:输出字符串、数字、变量、表达式,支持多行字符串;

  • 多参数输出:默认空格分隔,支持混合类型;

  • 字符串自动拼接:相邻字面量无需 + 号,直接合并;

  • 自定义控制:sep改分隔符,end改结尾字符;

  • 字符串格式化:推荐的f-string方式,直接在{}中插入变量,简洁高效。

  • 进阶用法:file输出到文件,flush强制实时刷新。

掌握这些用法后,你可以更灵活地使用print()函数,无论是日常调试还是程序交互展示,都能游刃有余。

到此这篇关于Python print()函数的用法举例详讲的文章就介绍到这了,更多相关Python print()函数用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python双向链表原理与实现方法详解

    python双向链表原理与实现方法详解

    这篇文章主要介绍了python双向链表原理与实现方法,结合实例形式分析了Python双向链表的定义、以及节点的判断、遍历、添加、删除等相关操作技巧,需要的朋友可以参考下
    2019-12-12
  • 使用Python编写一个简单的tic-tac-toe游戏的教程

    使用Python编写一个简单的tic-tac-toe游戏的教程

    这篇文章主要介绍了使用Python编写一个简单的tic-tac-toe游戏的教程,有利于Python初学者进行上手实践,需要的朋友可以参考下
    2015-04-04
  • Python Matplotlib绘图基础知识代码解析

    Python Matplotlib绘图基础知识代码解析

    这篇文章主要介绍了Python Matplotlib绘图基础知识代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • python正则表达式中的括号匹配问题

    python正则表达式中的括号匹配问题

    这篇文章主要介绍了python正则表达式中的括号匹配问题,需要的朋友可以参考下
    2014-12-12
  • Python史上最全种类数据库操作方法分享

    Python史上最全种类数据库操作方法分享

    本文将详细探讨如何在Python中连接全种类数据库以及实现相应的CRUD(创建,读取,更新,删除)操作,文中的示例代码讲解详细,需要的可以参考一下
    2023-07-07
  • python基于property()函数定义属性

    python基于property()函数定义属性

    这篇文章主要介绍了python基于property()函数定义属性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 借助Paramiko通过Python实现linux远程登陆及sftp的操作

    借助Paramiko通过Python实现linux远程登陆及sftp的操作

    这篇文章主要介绍了借助Paramiko通过Python实现linux远程登陆及sftp,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Python实现Pig Latin小游戏实例代码

    Python实现Pig Latin小游戏实例代码

    这篇文章主要介绍了Python实现Pig Latin小游戏实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Tensorflow 2.1完成对MPG回归预测详解

    Tensorflow 2.1完成对MPG回归预测详解

    这篇文章主要为大家介绍了Tensorflow 2.1完成对MPG回归预测详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Windows平台Python编程必会模块之pywin32介绍

    Windows平台Python编程必会模块之pywin32介绍

    在Windows平台上,从原来使用C/C++编写原生EXE程序,到使用Python编写一些常用脚本程序,成熟的模块的使用使得编程效率大大提高了
    2019-10-10

最新评论