Python里使用转义字符\r时遇到的问题
在Pycharm里使用转义字符\r和在IDLE里使用\r产生的结果是不一样的。
例子如下:
print("你好!\r我是Python!")
输出结果为:
我是Python!
前面的“你好!"不见了。
而在IDLE里输入同样的语句,输出的结果则为:
你好!我是Python!
这个问题让我一度纠结很久,在查阅资料之后得到如下解释:
\n 和 \r 都是特殊控制符,这些都是来自于老式电传打字机的功能。
\n 是newline开个新行。
\r 是Carriage return, 打印头回到行首。如果没有\n就直接\r 那么这行就会被覆盖打印了。
现在各个操作系统处理上不太一样,在不同的终端显示上也不太相同。
在idle中是不能实现 \r的功能的。
意思就是说,一切以Pycharm里为准,IDLE里实现不了\r的功能。
而\r的功能就是让光标回到行首,覆盖之前的内容,所以就产生了“我是Python!"覆盖了“你好!"的结果。