\r:使光標(biāo)回到行首
\n:使光標(biāo)下移一格
即:\r是回車 , \n是換行,前者使光標(biāo)到行首,后者使光標(biāo)下移一格 。
通常用的Enter是兩個(gè)加起來的,即\r\n
舉個(gè)例子:
print("aaaa\r\nbbbbbb") print("aaaa\nbbbbbb") print("aaaa\rbbbbbb")上面這段代碼的輸出結(jié)果可能一眼就能看出來 。
是這樣:
aaaa bbbbbb aaaa bbbbbb aaaa bbbbbb但是結(jié)果真的就是想的那樣嗎?
事實(shí)上結(jié)果是這樣的

文章插圖
實(shí)際效果.png
為什么會出現(xiàn)這樣的現(xiàn)象?
【python中回車和換行的區(qū)別】其實(shí)在計(jì)算機(jī)還沒有出現(xiàn)之前,有一種叫電傳打字機(jī)(Teletype Model 33)的 , 每秒鐘可以打10個(gè)字符 。它有一個(gè)問題,就是打完一行換行的時(shí)候,要用去0.2秒,正好可以打兩個(gè)字符 。要是在這0.2秒里面,又有新的字符傳過來 , 那么這個(gè)字符就會丟失 。
于是,研制人員想了個(gè)辦法解決這個(gè)問題 , 就在每行后面加兩個(gè)表示結(jié)束的字符 。
一個(gè)叫做“回車”,告訴打字機(jī)把打印頭定位在左邊界;
另一個(gè)叫做“換行”,告訴打字機(jī)把紙向下移一行 。
后來,計(jì)算機(jī)發(fā)明了,這兩個(gè)概念也就被搬到了計(jì)算機(jī)上 。那時(shí) , 存儲器很貴,一些科學(xué)家認(rèn)為在每行結(jié)尾加兩個(gè)字符太浪費(fèi)了,加一個(gè)就可以 。于是,就出現(xiàn)了分歧 。
- Unix系統(tǒng)里 , 每行結(jié)尾只有“<換行>”,即“\n”;
- Windows系統(tǒng)里面,每行結(jié)尾是“<換行><回車>”,即“\n\r”;
- Mac系統(tǒng)里 , 每行結(jié)尾是“<回車>”,即“\r” 。
現(xiàn)在再來看看開頭的例子:
print("aaaa\r\nbbbbbb") print("aaaa\nbbbbbb") print("aaaa\rbbbbbb")編程時(shí)(無論是windows系統(tǒng)還是linux系統(tǒng))\r 就是return 回到本行行首,這就會把這一行以前的輸出覆蓋掉,具體內(nèi)部細(xì)節(jié)就像是輸出緩沖區(qū)重新開始緩沖了一樣
而\n 是換行+回車,把光標(biāo)先移到下一行,然后換到行首->也就是下一行的行首
所以若是看到代碼里面本來應(yīng)該換行的地方變成了整行
本來該輸出整行的時(shí)候卻只輸出了一部分(跨平臺一定要注意)
- 盤點(diǎn)我國淡水水域中的十種小雜魚,它們?yōu)楹巫屷烎~人頭疼?你遇到過幾種?
- 工作中千萬別讓人覺得你好欺負(fù),用好這3招,讓人對你刮目相看
- 沒有規(guī)劃的中年人,失業(yè)是遲早的事,一個(gè)崗位不可能永遠(yuǎn)存在
- python gui界面按鈕位置
- 陪玩名單被泄露,LOL職業(yè)選手超過100人,多位在役選手也在其中
- 捷克狼犬在中國禁養(yǎng),中國準(zhǔn)許養(yǎng)捷克狼犬嗎
- 中國六大傳統(tǒng)節(jié)日
- “夢中情瓜”,手拿把掐!
- 惠普china joy 筆記本
- 中考加油祝福語
