跳转至

01 print语句

print函数详解

print 是 Python 中最基础且常用的函数之一,虽然是最简单的一个函数,但是其邪修用法还是有很多的,其主要功能用于将内容输出到标准输出(通常是控制台),本文详细介绍其应用,如有缺漏欢迎指正。

参数说明

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
print 是Python中用于输出内容到标准输出的内置函数。

objects 可变参数,表示要打印的一个或多个对象。多个对象会自动用空格分隔(可通过sep参数修改)。

sep 是字符串类型,默认为空格,指定多个对象之间的分隔符。

print(1, 2, 3)  # 输出:1 2 3
print(1, 2, 3, sep='|')  # 输出:1|2|3
end 字符串类型,默认为换行符'\n',指定打印结束时的追加字符。
print(1, end=';')
print(2)  # 输出:1;2
file 指定输出的目标文件对象,默认为sys.stdout(标准输出)。可重定向到文件或其他流。
with open('output.txt', 'w') as f: # 这里的 'w' 代表的是写入
    print('Hello', file=f)  # 写入文件,用file = f 表示写入对象
flush 布尔类型,默认为False。若为True,强制刷新输出缓冲区(通常用于实时输出)。 因此在下面的例子中你可以看到,当给定flush=True ,你会在控制台先看到输出 Loading,间隔一秒之后再显示 Done,反之,你将看到这两个词一起经过1秒之后输出。

1
2
3
4
import time
print('Loading', end='', flush=True)
time.sleep(1)
print(' Done')  # 实时显示效果(强调实时性)

注意事项

  • 参数必须按顺序传递,或通过关键字参数指定(如print(1,2,3, sep='|', end='\n'))。
  • 输出内容会先转换为字符串形式(调用str()方法)。

基本用法

print 的基本语法为直接传入一个或多个对象,默认以空格分隔并在末尾添加换行符

1
2
3
print("Hello, World!")  # 输出: Hello, World! 
## 传入多个对象时,各个对象中间空格,末尾换行
print(1, 2, 3)  # 输出: 1 2 3 
除了基本的换行和空格,也可以尝试使用 (1)制表符:\t (2)换行符:\n(3) Unicode 字符:\uXXXX
1
2
3
4
5
print("Line1\nLine2\tTabbed") # \n代表换行 \t代表制表符
'''输出如下
Line1
Line2   Tabbed
'''

格式化输出

Python 提供多种方式实现格式化输出: 1. f-string(Python 3.6+推荐):

name = "Alice"
print(f"Name: {name}")  # 输出: Name: Alice
2. str.format 方法:
print("Name: {}".format("Bob"))  # 输出: Name: Bob
3. 旧式 % 格式化
print("Age: %d" % 25)  # 输出: Age: 25

输出重定向

结合 sys.stdout 可临时重定向输出:

1
2
3
4
5
import sys
original_stdout = sys.stdout # print默认的file输出
sys.stdout = open("log.txt", "w") # 已经修改输出定向
print("Redirected")  # 内容写入文件,不会再输出到控制台
sys.stdout = original_stdout # 恢复标准输出到控制台