Python print() 函數,在同一行打印
文章目錄
Python print() 函數,在同一行打印
為什么 Python 的 `print` 函數默認在新行上打印?
如何在 Python 中同一行上打印
選項 # 1-在打印函數中修改 end 的值
選項 # 2-在文件中使用 rstrip ()刪除空白
回到我們的文件打印示例
輸出
Python print() 函數,在同一行打印
令 Python print() 函數輸出的信息在一行。
print() 函數是 Python 中的一個重要函數,因為它用于將 Python 輸出重定向到終端或者重定向到文件。
默認情況下, print() 函數每次都在新行上打印,這是由于 Python 文檔中 print() 定義決定的。
為什么 Python 的 print 函數默認在新行上打印?
在下面的代碼片段中,我們可以看到默認情況下 end 的值是 \n ,這意味著每個 print 語句將以 \n 結尾,而 \n 表示一個換行字符。
讓我們看一個 print 函數的例子:
# using Print with default settings print("This will be printed") print("in separate lines")
1
2
3
4
輸出:
在上面的示例中,由于 end ="\n" ,所以行將被單獨打印。
如何在 Python 中同一行上打印
有時,我們需要在一行上打印字符串,這在我們用 Python 讀取文件時特別有用,當我們讀取文件時,默認情況下在行之間會得到一個空白行。
讓我們看一個例子,有一個名為 rainbow.txt 的文件,其內容如下:
代碼:
fhand = open('rainbow.txt') for line in fhand: print(line)
1
2
3
在上面的代碼中,我們使用了一個文件處理程序 fhand 來訪問文件,接下來,我們使用 for 循環遍歷這些行。
當我們打印內容時,結果如下:
額外的空行是由于文件中每一行末尾都有 \n ,而 n\ 將光標移動到下一行,由于 print 函數也會默認會輸出空白行,所以讀取文件輸出之后多出了一個空行。
假設我們想移除這些,要做到這一點,我們可以做一些改變。為此,我們需要更改 print 的默認行為,我們將在接下來的章節中詳細討論如何做到這一點。
選項 # 1-在打印函數中修改 end 的值
讓我們在 print 函數中設置 end 的值,我們將它設置為空格,即 '' ,代碼示例:
# Customizing the value of 'end' print("This is string 1 same line", end=' ') print("This is string 2 different line")
1
2
3
4
輸出:
現在我們可以看到, print 函數在末尾添加一個空白字符 '' ,而不是一個新行( \n )。
我們還可以提供另一個字符,而不是空格:
# Customizing the value of 'end' with a custom separator print("This is string 1 same line", end=';') print("This is string 2 different line")
1
2
3
4
輸出:
用法: 上面的示例只是用你設置的分隔字符在同一行上打印的一種方法。
讓我們看看另一個例子,可以遍歷一個列表,并用 end ='' 在同一行上打印它們。
# iterating lists list_fruits = ['red','blue', 'green', 'orange'] for i in list_fruits: print(i, end = ' ')
1
2
3
4
5
輸出:
選項 # 2-在文件中使用 rstrip ()刪除空白
我們可以使用 strip() 刪除字符串前后的某些字符,默認情況下,文件中的每一行末尾都有 \n ,由于我們只關心右邊的字符,所以我們可使用 rstrip () ,它代表右邊的字符,接下來我們將討論 rstrip () 的一個示例。
你可以在這篇博文 中了解更多關于 strip () 方法的信息。
回到我們的文件打印示例
記住,我們討論過一個文件打印示例,其中有多余的行被打印:
讓我們使用 rstrip () 稍微修改一下代碼。
print("1. Removing extra blank line") fhand = open('rainbow.txt') for line in fhand: line=line.rstrip() print(line) print("\n") print("2. Printing all in the same line") fhand = open('rainbow.txt') for line in fhand: line=line.rstrip("\n") print(line, end = ' ')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
輸出
首先,我們用 rstrip () 刪除了額外的空格,在下一步中,我們用 rstrip('\n') 和 end ='' 再次刪除額外的行,以便在一行中得到輸出。
Python
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。