print()函数是 Python 内置函数之一,用于输出指定的对象。它可以接受多个参数,用逗号分隔,它们将被依次输出,并且默认情况下它们之间会用空格分隔。在输出完成之后,print()函数会自动在末尾添加一个换行符。
函数语法
print(*objects, sep=' ', end='\n',
file=sys.stdout, flush=False)
参数:
*objects:要输出的对象,可以有多个,用','分隔;sep:输出多个对象时使用的分隔符,默认为一个空格;end:输出完成之后的结束符,默认是一个换行符'\n';file:内容输出到哪个文件,默认为标准输出;flush:布尔值,表示是否强制刷新缓冲区,默认为False;
print() 函数示例
基本用法:
print("Hello, World!")
# 多个对象用,分隔
print("Hello", "World")
# 打印变量
name = "Lee"
print("Hello,", name)
# 输出列表
lst = ['a','b','c']
print(lst)
print(*lst)
程序输出
Hello, World! Hello World Hello, Lee ['a', 'b', 'c'] a b c
输出多个对象时,指定sep分隔符:
print("A", "B", "C") # 默认输出: A B C
print("A", "B", "C", sep='') # 输出: ABC
print("A", "B", "C", sep='-') # 输出: A-B-C
使用end结束符:
print(1) # 默认会换行
print(2)
print(3)
print('a',end='|') # 指定结束符
print('b',end='-')
print('c')
程序输出
1 2 3 a|b-c
将内容输出到文件:
file1 = open('output.txt', 'w')
# 不会显示到终端,而是写入到文件
print("Hello, world!", file=file1)
file1.close()
使用flush强制刷新缓冲区:
缓冲区刷新规则:
- 终端输出默认使用行缓冲,遇到换行符就刷新
- 文件输出默认使用全缓冲,缓冲区满或关闭时才刷新
import time
for i in range(5):
# 替换默认的换行符
# 使缓冲区不会立即刷新
# 默认不立即显示
print(i,end=',')
time.sleep(1)
print("done!")
for i in range(5):
# 立即刷新缓冲区
print(i,end=',',flush=True)
time.sleep(1)
print("done!")
输出有颜色的内容
对于支持 ANSI 转义序列的终端,都可以为内容设置颜色;
# 基础颜色示例
print("\033[31m红色文字\033[0m")
print("\033[32m绿色文字\033[0m")
print("\033[33m黄色文字\033[0m")
print("\033[34m蓝色文字\033[0m")
print("\033[35m紫色文字\033[0m")
print("\033[36m青色文字\033[0m")
print("\033[37m白色文字\033[0m")
print("\033[90m灰色文字\033[0m")
更多效果请查阅 ANSI 转义序列格式。