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秒之后输出。
| import time
print('Loading', end='', flush=True)
time.sleep(1)
print(' Done') # 实时显示效果(强调实时性)
|
注意事项
- 参数必须按顺序传递,或通过关键字参数指定(如
print(1,2,3, sep='|', end='\n'))。
- 输出内容会先转换为字符串形式(调用
str()方法)。
基本用法
print 的基本语法为直接传入一个或多个对象,默认以空格分隔并在末尾添加换行符:
| print("Hello, World!") # 输出: Hello, World!
## 传入多个对象时,各个对象中间空格,末尾换行
print(1, 2, 3) # 输出: 1 2 3
|
除了基本的换行和空格,也可以尝试使用 (1)制表符:\t (2)换行符:\n(3) Unicode 字符:\uXXXX
| 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 可临时重定向输出:
| import sys
original_stdout = sys.stdout # print默认的file输出
sys.stdout = open("log.txt", "w") # 已经修改输出定向
print("Redirected") # 内容写入文件,不会再输出到控制台
sys.stdout = original_stdout # 恢复标准输出到控制台
|