Python:打印语句末尾的逗号

2 投票
1 回答
2338 浏览
提问于 2025-04-18 04:23

我刚开始从learnjavathehardway学习Python。

有一段“有趣”的代码如下:

while True:
    for i in ["/","-","|","\\","|"]:
        print "%s\r" % i,

这段代码的作用是在我的控制台上,逐个打印出不同的字符。(如果你不明白我说的,可以自己试试)

基本上,它快速地打印/ - | \ |,而且是在同一个地方

如果我把打印语句末尾的逗号去掉,它就会把每个字符打印在新的一行。

现在我想知道,为什么它会在同一个地方打印,而不是一个接一个地打印?谢谢!

1 个回答

8

这是因为有一个叫做 \r 的字符,它在ascii码中被称为 回车符 <CR>。简单来说,它的作用是把光标移动到行的开头。

那行末尾的逗号是因为在python 2.7中,print 是一个 语句,它会自动添加一个换行符。如果加上逗号,就不会添加换行符了。

而在python 3.x中,print 不再是一个语句,而是一个函数。你可以使用 end 这个关键字参数来指定输出结束时的字符,默认是换行符 \n

撰写回答