tft每日頭條

 > 汽車

 > python中換行是不是空格

python中換行是不是空格

汽車 更新时间:2024-07-20 13:12:28

\r:使光标回到行首

\n:使光标下移一格

即:\r是回車,\n是換行,前者使光标到行首,後者使光标下移一格

通常用的Enter是兩個加起來的,即\r\n

舉個例子:

print("aaaa\r\nbbbbbb") print("aaaa\nbbbbbb") print("aaaa\rbbbbbb")

上面這段代碼的輸出結果可能一眼就能看出來。

是這樣:

aaaa bbbbbb aaaa bbbbbb aaaa bbbbbb

但是結果真的就是想的那樣嗎?

事實上結果是這樣的

python中換行是不是空格(python-關于回車換行的區别)1

實際效果.png

為什麼會出現這樣的現象?

其實在計算機還沒有出現之前,有一種叫電傳打字機(Teletype Model 33)的,每秒鐘可以打10個字符。它有一個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字符。要是在這0.2秒裡面,又有新的字符傳過來,那麼這個字符就會丢失。

于是,研制人員想了個辦法解決這個問題,就在每行後面加兩個表示結束的字符。

一個叫做“回車”,告訴打字機把打印頭定位在左邊界;

另一個叫做“換行”,告訴打字機把紙向下移一行。

後來,計算機發明了,這兩個概念也就被搬到了計算機上。那時,存儲器很貴,一些科學家認為在每行結尾加兩個字符太浪費了,加一個就可以。于是,就出現了分歧。

  • Unix系統裡,每行結尾隻有“<換行>”,即“\n”;
  • Windows系統裡面,每行結尾是“<換行><回車>”,即“\n\r”;
  • Mac系統裡,每行結尾是“<回車>”,即“\r”。

一個直接後果是,Unix/Mac系統下的文件在Windows裡打開的話,所有文字會變成一行;而Windows裡的文件在Unix/Mac下打開的話,在每行的結尾可能會多出一個^M符号。

現在再來看看開頭的例子:

print("aaaa\r\nbbbbbb") print("aaaa\nbbbbbb") print("aaaa\rbbbbbb")

編程時(無論是windows系統還是linux系統)

\r 就是return 回到本行行首,這就會把這一行以前的輸出覆蓋掉,具體内部細節就像是輸出緩沖區重新開始緩沖了一樣

而\n 是換行+回車,把光标先移到下一行,然後換到行首->也就是下一行的行首

所以若是看到代碼裡面本來應該換行的地方變成了整行

本來該輸出整行的時候卻隻輸出了一部分(跨平台一定要注意)

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关汽車资讯推荐

热门汽車资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved