pin_drop当前位置:知识文库 ❯ 图文

Python print()函数

概述

print()函数是Python中最常用的内置函数之一,用于将信息输出到控制台或其他流中。虽然使用简单,但print()函数提供了丰富的参数来控制输出格式。本节将详细介绍print()函数的各种用法,包括基本输出、多参数输出、分隔符和结束符设置、格式化输出以及输出到文件等。


基本输出

print()函数最简单的用法就是输出一个字符串或值:

代码示例

print("Hello World")
print(100)
print(3.14)
print(True)

输出:

代码示例

Hello World
100
3.14
True

输出变量

代码示例

name = "Alice"
age = 25
print(name)
print(age)

多参数输出

print()函数可以同时输出多个值,默认用空格分隔:

代码示例

name = "Alice"
age = 25
print("姓名:", name, "年龄:", age)

输出:

代码示例

姓名: Alice 年龄: 25

输出不同类型

代码示例

print("整数:", 42, "浮点数:", 3.14, "布尔:", True)

输出:

代码示例

整数: 42 浮点数: 3.14 布尔: True

sep参数

sep参数用于指定多个输出值之间的分隔符,默认为空格。

自定义分隔符

代码示例

print("2024", "01", "15", sep="-")
print("hello", "world", sep=" ")
print("A", "B", "C", sep="")
print("北京", "上海", "广州", sep=" → ")

输出:

代码示例

2024-01-15
hello world
ABC
北京 → 上海 → 广州

使用换行符作为分隔符

代码示例

print("第一行", "第二行", "第三行", sep="\n")

输出:

代码示例

第一行
第二行
第三行

end参数

end参数用于指定输出结束后的字符,默认为换行符\n

不换行输出

代码示例

print("Hello", end="")
print(" World")

输出:

代码示例

Hello World

自定义结束符

代码示例

for i in range(5):
    print(i, end=" ")
print()

输出:

代码示例

0 1 2 3 4 

使用特殊结束符

代码示例

print("加载中", end="...")
print("完成")
print("步骤1", end=" >> ")
print("步骤2", end=" >> ")
print("完成")

输出:

代码示例

加载中...完成
步骤1 >> 步骤2 >> 完成

格式化输出

Python提供了多种格式化输出的方式。

f-string(推荐)

Python 3.6+引入的格式化字符串,在字符串前加f,使用{}嵌入表达式:

代码示例

name = "Alice"
age = 25
score = 95.678

print(f"姓名: {name}, 年龄: {age}")
print(f"成绩: {score:.2f}")
print(f"10 + 20 = {10 + 20}")
print(f"{'居中':^20}")
print(f"{'左对齐':<20}")
print(f"{'右对齐':>20}")

输出:

代码示例

姓名: Alice, 年龄: 25
成绩: 95.68
10 + 20 = 30
        居中        
左对齐              
              右对齐

format()方法

代码示例

name = "Alice"
age = 25

print("姓名: {}, 年龄: {}".format(name, age))
print("姓名: {0}, 年龄: {1}, 重复: {0}".format(name, age))
print("姓名: {name}, 年龄: {age}".format(name="Bob", age=30))

%格式化(旧式)

代码示例

name = "Alice"
age = 25
score = 95.678

print("姓名: %s, 年龄: %d" % (name, age))
print("成绩: %.2f" % score)
print("十六进制: %x" % 255)

格式化对比

方式 语法 Python版本 推荐程度
f-string f"{var}" 3.6+ ★★★★★
format() "{}".format(var) 2.6+ ★★★★
%格式化 "%s" % var 所有版本 ★★

常用格式化符号

符号 说明 示例
d 十进制整数 f"{42:d}"42
f 浮点数 f"{3.14:.2f}"3.14
s 字符串 f"{'hi':s}"hi
x 十六进制 f"{255:x}"ff
o 八进制 f"{8:o}"10
b 二进制 f"{5:b}"101
e 科学计数法 f"{1000:e}"1.000000e+03
% 百分比 f"{0.85:.1%}"85.0%

输出到文件

print()函数的file参数可以将输出重定向到文件。

写入文件

代码示例

with open("output.txt", "w", encoding="utf-8") as f:
    print("这是第一行", file=f)
    print("这是第二行", file=f)
    print("这是第三行", file=f)

追加到文件

代码示例

with open("output.txt", "a", encoding="utf-8") as f:
    print("追加的内容", file=f)

同时输出到控制台和文件

代码示例

import sys


def print_both(text, file_obj):
    print(text)
    print(text, file=file_obj)


with open("log.txt", "w", encoding="utf-8") as f:
    print_both("程序开始运行", f)
    print_both("正在处理数据...", f)
    print_both("程序运行结束", f)

代码示例

示例1:进度条模拟

代码示例

import time

for i in range(1, 11):
    percent = i * 10
    bar = "█" * i + "░" * (10 - i)
    print(f"\r进度: [{bar}] {percent}%", end="")
    time.sleep(0.3)
print()

示例2:表格输出

代码示例

print(f"{'姓名':<10}{'语文':>6}{'数学':>6}{'英语':>6}{'平均':>8}")
print("-" * 36)
print(f"{'张三':<10}{'92':>6}{'88':>6}{'95':>6}{'91.7':>8}")
print(f"{'李四':<10}{'85':>6}{'96':>6}{'89':>6}{'90.0':>8}")
print(f"{'王五':<10}{'78':>6}{'90':>6}{'92':>6}{'86.7':>8}")

示例3:格式化数字

代码示例

num = 1234567.8912

print(f"原始: {num}")
print(f"两位小数: {num:.2f}")
print(f"千分位: {num:,.2f}")
print(f"科学计数: {num:.4e}")
print(f"百分比: {0.856:.1%}")
print(f"十六进制: {255:#x}")
print(f"二进制: {255:#b}")
print(f"八进制: {255:#o}")

注意事项

print默认换行:每次调用print()默认会在末尾添加换行符,如需不换行请设置end=""

sep和end参数:这两个参数只在使用多参数输出时才有明显效果,注意区分。

f-string性能最优:在三种格式化方式中,f-string不仅语法最简洁,性能也最好。

文件编码:输出到文件时,建议指定encoding="utf-8"以避免中文乱码。

flush参数print()flush参数默认为False,在需要实时输出(如进度条)时应设为True


小结

本节我们学习了:

  • 基本输出:使用print()输出字符串、数字和变量

  • 多参数输出:同时输出多个值,默认空格分隔

  • sep参数:自定义输出值之间的分隔符

  • end参数:自定义输出结束符,控制是否换行

  • 格式化输出:f-string、format()和%三种方式

  • 输出到文件:使用file参数将输出重定向到文件

print()函数虽然简单,但掌握其全部参数和格式化技巧,能让你的输出更加灵活和专业。


练习题

练习1

使用print()函数输出以下格式的学生成绩单:

代码示例

================================
        学生成绩报告
================================
姓名: 张三
语文: 92  数学: 88  英语: 95
平均分: 91.67
================================

练习2

编写程序,使用print()sepend参数,在一行中输出1到10的数字,用|分隔,最后输出一个换行。输出效果如下:

代码示例

1|2|3|4|5|6|7|8|9|10

常见问题

print()函数如何输出不换行?

设置end参数为空字符串即可,例如print("Hello", end="")。默认情况下print会在末尾添加换行符\n,将end设为空字符串就可以取消换行效果。

sep和end参数有什么区别?

sep参数控制多个输出值之间的分隔符,默认为空格;end参数控制输出结束后的字符,默认为换行符。sep作用于多个参数之间,end作用于整个输出末尾。

f-string、format()和%格式化应该选择哪种?

推荐使用f-string(Python 3.6+)。f-string语法最简洁、可读性最强,且性能最优。format()适合需要兼容旧版本Python的场景,%格式化已不推荐使用。

如何使用print()将内容输出到文件?

使用file参数将输出重定向到文件对象,例如print("内容", file=f),其中f是通过open()打开的文件对象。建议指定encoding="utf-8"以避免中文乱码。

print()的flush参数有什么作用?

flush参数默认为False,表示输出会先缓存再写入。在需要实时输出的场景(如进度条、日志)时,应设为True,这样可以立即将内容显示到控制台,而不是等待缓冲区满。

标签: print函数 格式化输出 f-string Python基础 sep参数 end参数 输出重定向

本文涉及AI创作

内容由AI创作,请仔细甄别

list快速访问

上一篇: Python input()函数 下一篇: Python算术运算符

poll相关推荐

作者头像 智能小晨 python

Python类型转换详解

发布日期 2026-05-27
全面掌握Python类型转换的核心知识,包括int float str bool等内置函数的用法、隐式转换规则、容器类型之间的转换方法,以及使用try-except安全处理转换异常的实战技巧。通过丰富的代码示例,帮助你写出更健壮的Python代码。
作者头像 智能小晨 python

Python字符串类型详解

发布日期 2026-05-27
全面学习Python字符串类型的核心知识,涵盖单引号双引号三引号定义方式、原始字符串r前缀、转义字符详解、字符串不可变性原理以及Unicode编码支持。
作者头像 智能小晨 python

Python布尔类型详解

发布日期 2026-05-27
深入解析Python布尔类型的核心知识,包括True和False的定义、and or not逻辑运算、短路求值特性、bool()函数用法以及隐式布尔转换规则。通过丰富的代码示例,帮助你掌握Python布尔类型的实际应用,写出更优雅的条件判断代码。
作者头像 智能小晨 python

Python复数类型complex详解

发布日期 2026-05-27
全面介绍Python复数类型complex的使用方法,包括复数定义、实部虚部访问、算术运算、cmath模块函数以及极坐标转换。掌握复数在科学计算和工程领域的应用。