核心概念
print() 函数在 Python 中用于将指定的内容输出到控制台,默认情况下,print() 在输出完内容后,会自动在末尾添加一个换行符(\n),这样下一次 print() 的内容就会显示在下一行。

end 参数的作用就是改变这个默认行为,你可以用它来指定 print() 输出内容后,以什么字符或字符串作为结尾。
默认行为 (end='\n')
如果不指定 end 参数,print() 的行为如下:
print("Hello")
print("World")
输出结果:
Hello
World
解释:
print("Hello")输出 "Hello",然后默认添加了一个换行符\n,光标移动到下一行的开头。print("World")从新的一行开始,输出 "World",然后再添加一个换行符。
使用 end 参数
end 参数可以接受任何字符串作为值,比如空字符串、空格、其他字符等。
示例 1:使用空字符串 (end='') 来避免换行
这是 end 参数最常见的用法之一,用于在同一行上连续输出内容。
print("Hello", end="")
print("World")
输出结果:
HelloWorld
解释:
print("Hello", end="")输出 "Hello",然后根据end的值,添加了一个空字符串,光标停留在 "Hello" 的后面,没有换行。print("World")从 "Hello" 的后面继续输出 "World",然后默认添加一个换行符。
示例 2:使用空格 (end=' ') 来分隔内容
如果你想在同一行打印多个值,并用空格隔开,可以这样做:
print("Python", end=' ')
print("is", end=' ')
print("awesome!")
输出结果:
Python is awesome!
解释:
- 第一个
print输出 "Python" 并添加一个空格。 - 第二个
print输出 "is" 并添加一个空格。 - 第三个
print输出 "awesome!" 并默认添加一个换行符。
示例 3:使用其他自定义字符串结尾
end 参数可以是任意字符串,非常灵活。
# 使用制表符作为结尾
print("Apple", end='\t')
print("Banana")
# 使用自定义的箭头作为结尾
print("Loading", end='-> ')
print("100%")
输出结果:
Apple Banana
Loading-> 100%
进阶应用:创建进度条
end 参数在创建动态更新的输出时非常有用,比如一个简单的进度条。
import time
print("正在下载文件:", end="")
for i in range(1, 11):
print(f"{i*10}%", end=" ") # 在同一行更新百分比
time.sleep(0.5) # 暂停0.5秒模拟下载
print("\n下载完成!") # 下载完成后换行
输出效果(动态更新):
正在下载文件:10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
下载完成!
解释:
- 循环开始时,
print("正在下载文件:", end="")输出提示文字,但不换行。 - 在循环中,
print(f"{i*10}%", end=" ")每次都在同一行上追加新的百分比和一个空格,覆盖掉上一次的光标位置,形成动态更新的效果。 - 循环结束后,
print("\n下载完成!")输出最终结果,并强制换行,将光标移到新的一行。
end 和 sep 参数的区别
初学者容易混淆 end 和 sep 参数,这里简单对比一下:
-
sep(separator - 分隔符):- 作用:当
print()函数接收多个参数时,sep用来定义这些参数之间的分隔符。 - 默认值: (一个空格)。
- 生效时机:在打印所有输入参数之间时生效。
- 作用:当
-
end(ending - 结尾符):- 作用:定义在打印完所有输入参数之后,在末尾添加的字符。
- 默认值:
'\n'(一个换行符)。 - 生效时机:在打印完所有输入参数之后生效。
示例对比:
# sep 的作用
print("A", "B", "C") # 默认 sep=' '
print("---")
print("A", "B", "C", sep="-") # 自定义 sep='-'
# end 的作用
print("X", end=';') # 自定义 end=';'
print("Y", end=';') # 自定义 end=';'
print("Z") # 默认 end='\n'
输出结果:
A B C
---
A-B-C
X;Y;Z
| 参数 | 作用 | 默认值 | 例子 |
|---|---|---|---|
end |
控制打印内容之后的结尾字符 | '\n' (换行) |
print("Hi", end="!") 输出 Hi! |
sep |
控制多个打印内容之间的分隔符 | (空格) | print("A", "B", sep="|") 输出 A\|B |
掌握 end 参数是 Python 输出格式化的一个重要技能,它能让你的程序输出更灵活、更美观,特别是在需要控制光标位置或创建动态效果时。
