在初学Python中发现print函数中字符串中含有\r\n、\n、\r输出有异同效果
print("这是第一行1\n第二行1")
print('===============')
print("这是第一行2\r第二行2")
print('===============')
print("这是第一行3\r\n第二行3")
#输出结果如下:
这是第一行1
第二行1
===============
第二行2
===============
这是第一行3
第二行3
进程已结束,退出代码0
顺带一提,不同系统中换行符不一,Windows中是\r\n,UNIX是\n,Mac中是\r。
python中以\n作为回车+换行的功能。如上例所示在python中\n和\r\n的输出结果一样,\r的结果证明其作用为将输入的光标移回本行的行首,随后由于还需要写入文本,删除了本来已经输入的“这是第一行2”,写入“第二行2”。
而\r\n与\n的结果一致,我认为是由于在"\r\n"中读取到\r时仅仅是将光标移回到行首(并没有文本需要写入,所以此行的“这是第一行3”没有被删除),紧接着又读取到\n将光标移动到下一行行首,写入“第二行3”导致与\n结果一致。也就是在此例中\r的操作是多余的。