首先谈一谈回车和换行的历史由来:
最开始机器出现的时候是先有打字机的, 当时的机械打字机有回车和换行两个键, 作用分别是:
换行就是把滚筒卷一格,不改变水平位置。 (即移到下一行,但不是行首,而是和上一行水平位置一样)
回车就是把水平位置复位,不卷动滚筒。 (即将光标移到行首,但是不会移到下一行,如果继续输入的话会覆盖掉前面的内容)
Enter = 回车+换行(\r\n)
理解:
- \n是换行,英文是New line
- \r是回车,英文是Carriage return
那么在Python中, 该怎么理解\r和\n呢? 实际\r 是将光标定位到本行开头(当后面接内容后, 本行之前的内容会被清除掉),而\n是换行到下一行(下一行为新行, 直接就到行首了).
我们看下面的例子, 就能明白了
示例:
print("你好啊\r我是")
print("--------------")
print("你好啊\n我是")
分解:第一行代码开始执行, 第一步打印 "你好啊"; 第二步遇到\r,此时光标调到行首; 第三步\r后需要输入内容,则先将本行的内容清空后再进行内容输入.
代码与输出对应关系
print("你好啊") 你好啊
print("你好啊\r") 你好啊
print("你好啊\r我是") 我是
结果:
我是
--------------
你好啊
我是
另外所注意, Python中print()函数默认是带换行的,当遇到print('\r')而输出效果有换行, 切勿认为\r有换行的作用,其实是print()这个函数默认带的换行效果.