讀古今文學網 > 父與子的編程之旅:與小卡特一起學Python > 21.1 換行 >

21.1 換行

print 語句我們已經見過很多次了。如果這個語句使用不只一次會發生什麼?可以試試這個小程序:

print "Hi"print "There"  

運行這個程序時,輸出將是:

>>> =================== RESTART ===================>>>HiThere  

為什麼這兩個內容分別打印在不同的行上?為什麼輸出不是這樣:

HiThere  

除非你另外指出,否則 Python 每次執行 print 時都會在新的一行上開始。打印 Hi 之後,Python 會下移一行,並回到第一列來打印 There。Python 會在兩個詞之間插入一個換行符(newline)。換行符的作用相當於在文本編輯器中按下了回車。

像程序員一樣思考

還記得吧?我們在第 5 章已經瞭解到,CR 和 LF(回車和換行)會標誌一個文本行的結束。另外我還說過,有些系統可能只使用其中一個字符(CR 或 LF)表示換行,有些系統則兩個都用。換行是所有系統上行末標記的通用名。在 Windows 中,換行 = CR + LF。在 Linux 中,換行 =LF,而在 Mac OS X 中,換行 = CR。所以不必擔心你使用哪個系統,希望換行時只需要加入一個換行符。

print 和逗號

print 語句會自動在它打印的內容末尾加一個換行符,除非你明確指出不要這麼做。怎麼告訴它不換行呢?可以加一個逗號(就像第 5 章中的一樣):

print 'Hi',print 'There'>>> =================== RESTART ===================>>>Hi There  

(同樣,這段代碼不能在 Python 3 中正常運行。)注意 HiThere 之間有一個空格。使用逗號不讓 Python 打印換行符時,它會打印一個空格。

如果希望連續打印兩個內容而且中間沒有空格,可以使用拼接(concatenation),這在前面已經見過

print 'Hi' + 'There'>>> ==================== RESTART ====================>>>HiThere  

記住,拼接就像把字符串加在一起,之所以用這個特殊的叫法是因為「相加」只適用於數字。

增加自己的換行符

如果想增加自己的換行符呢?例如,如果希望 HiThere 之間空一行,該怎麼做呢?最容易的辦法是直接增加一個 print 語句:

print "Hi"printprint "There"  

運行這個代碼時,會得到右面的結果:

>>> ================== RESTART ==================>>>HiThere  

特殊打印代碼

增加換行符還有一種方法。Python 提供了一些特殊的代碼,可以把這些代碼增加到字符串中,以不同的方式打印。這些特殊的打印代碼都以一個反斜線(\)字符開頭。

換行符的相應代碼是 \n。可以在交互模式中試一下:

>>> print "Hello World"Hello World>>> print "Hello \nWorld"HelloWorld  

\n 使 HelloWorld 分別打印在不同的行上,因為它在這兩個詞之間增加了一個換行符。