杰瑞科技汇

print函数的end参数如何控制输出结束符?

核心概念

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

print函数的end参数如何控制输出结束符?-图1
(图片来源网络,侵删)

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下载完成!") 输出最终结果,并强制换行,将光标移到新的一行。

endsep 参数的区别

初学者容易混淆 endsep 参数,这里简单对比一下:

  • 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 输出格式化的一个重要技能,它能让你的程序输出更灵活、更美观,特别是在需要控制光标位置或创建动态效果时。

分享:
扫描分享到社交APP
上一篇
下一篇