Python 中如何让 print 不换行(连续输出)?
Python print 不换行:设置 end 参数为空字符串 print("内容", end=""),或 end=" " 用空格分隔。默认 end="\n" 每次换行。
在 print() 中设置 end="" 即可不换行:print("Hello", end="")。end 参数控制每次打印后追加的字符,默认是换行符 \n。
基本用法
print('Hello', end='')
print(' world')
# 输出: Hello world(同一行)
常用场景
# 用空格分隔
for i in range(5):
print(i, end=' ')
# 输出: 0 1 2 3 4
# 用逗号分隔
for i in range(5):
print(i, end=', ')
# 输出: 0, 1, 2, 3, 4,
# 进度条效果
import time
for i in range(10):
print(f'\r进度: {(i+1)*10}%', end='', flush=True)
time.sleep(0.3)
print() # 最后换行
sep 参数(控制多个值之间的分隔符)
print('a', 'b', 'c') # a b c(默认空格)
print('a', 'b', 'c', sep='-') # a-b-c
print('a', 'b', 'c', sep='') # abc
常见问题(FAQ)
Q:end 和 sep 有什么区别?
A:sep 控制 print 多个参数之间的分隔符(默认空格),end 控制打印结束后追加的字符(默认换行)。
Q:Python 2 怎么不换行?
A:print "hello",(末尾逗号)。但这是 Python 2 语法,现在应使用 Python 3 的 end=""。
Q:为什么 print 后还要 flush=True?
A:不换行时输出可能留在缓冲区不显示(特别是循环中),flush=True 强制立即输出。