在 Python 中用空格填充字串

Vaibhhav Khetarpal 2023年1月30日
  1. 在 Python 中使用 ljust() 函式用空格填充字串的右端
  2. 在 Python 中使用 rjust() 函式用空格填充字串的左端
  3. 在 Python 中使用 center() 函式用空格填充字串的兩端
  4. 在 Python 中使用帶有模數 (%) 運算子的字串格式來填充帶有空格的字串
  5. 在 Python 中使用帶有 str.format() 函式的字串格式化來填充帶有空格的字串
  6. 在 Python 中使用帶有 f-strings 的字串格式來填充帶有空格的字串
在 Python 中用空格填充字串

填充可以定義為插入非資訊性字元,這些字元不會向給定字串新增任何值。它可以在字串的任何一端或兩端完成。

字串填充很有用,在字串格式化和在列印時設定字串的對齊方式時非常有用。本教程討論可用於在 Python 中用空格填充字串的不同方法。

在 Python 中使用 ljust() 函式用空格填充字串的右端

ljust() 函式用於向字串新增正確的填充,這意味著向字串的右端填充。

ljust() 函式包含兩個引數:widthfillcharwidth 引數是強制性的,它指定填充過程完成後給定字串的長度。fillchar 引數是可選的,用於表示我們想要填充字串的字元。

預設情況下,fillchar 值是一個空格字元,即' '

以下程式碼使用 ljust() 函式在 Python 中用空格填充字串的右端。

a = "I am legend"
print(a.ljust(15))

輸出:

I am legend    

在 Python 中使用 rjust() 函式用空格填充字串的左端

ljust() 函式具有相似的風格但用途不同,rjust() 函式用於向字串新增左填充。

類似於 ljust() 函式,rjust() 函式包含兩個引數:widthfillcharwidth 引數是強制性的,它指定填充過程完成後給定字串的長度。另一方面,fillchar 引數是可選的,用於表示我們想要填充字串的字元。

當我們需要命名以數字開頭的檔案時,此功能非常有用,因為它有助於實現更直觀的排序實踐。

以下程式碼使用 rjust() 函式在 Python 中用空格填充字串的左端。

a = "I am legend"
print(a.rjust(15, " "))

輸出:

    I am legend

在 Python 中使用 center() 函式用空格填充字串的兩端

center() 函式向字串的兩端新增等量的填充。它用於將字串與給定的字串寬度居中對齊。

ljust()rjust() 方法非常相似,center() 函式包含兩個引數:widthfillchar。這兩個函式執行完全相同的工作,如上文文章中解釋的兩種方法中所述。

以下程式碼使用 center() 函式在 Python 中用空格填充字串的兩端。

a = "I am legend"
print(a.center(20))

輸出:

    I am legend     

在 Python 中使用帶有模數 (%) 運算子的字串格式來填充帶有空格的字串

% 符號,有時也稱為字串格式化或插值運算子,是在 Python 中實現字串格式化的一種方式。作為實現字串格式化的最古老的可用方法,此運算子適用於幾乎所有版本的 Python。

% 符號和代表轉換型別的字母被標記為變數的佔位符。

以下程式碼使用帶有模數 (%) 運算子的字串格式化,在 Python 中用空格填充字串。

print("%15s" % ("I am legend"))

輸出:

    I am legend

在上面的程式中,我們對字串進行左填充。我們可以類似地使用以下程式碼進行正確的填充。

print("%-15s" % ("I am legend"))

輸出:

I am legend    

在這裡,唯一的缺點是它只能在字串的左端或右端實現填充,而不能同時實現兩端。而且,使用這種方法會影響程式的可讀性。

在 Python 中使用帶有 str.format() 函式的字串格式化來填充帶有空格的字串

在 Python 中實現字串格式化的另一種方法是使用 str.format() 函式。此過程使大括號 {} 標記 print 語句中需要替換變數的位置。

str.format() 最初是在 Python 2.6 中引入的,可以在所有 Python 版本中使用,從 Python 2.6 到 Python 3.5。這個函式在編碼人員中非常流行,程式設計師更喜歡這種方式來實現字串格式化,因為它在處理複雜的字串格式化方面非常有效。

以下程式碼使用字串格式化和 str.format() 函式在 Python 中用空格填充字串。

print("{:15}".format("I am legend"))

輸出:

I am legend    

上面的程式碼向給定的字串新增了正確的填充。要將左填充新增到給定的字串,我們可以對上面的程式進行細微的調整並使用以下程式。

print("{:>15}".format("I am legend"))

輸出:

    I am legend

str.format() 函式也可以同時填充兩邊的字串。然後,你所要做的就是在冒號後的佔位符中新增 ^ 符號。

以下程式碼使用 str.format() 函式在 Python 中用空格填充字串的兩端。

print("{:^15}".format("I am legend"))

輸出:

  I am legend  

在 Python 中使用帶有 f-strings 的字串格式來填充帶有空格的字串

在 Python 3.6 中引入,它是 Python 中實現字串格式化的最新方法。因此,此方法可用於更新和最新版本的 Python。

它比其他兩個同行,% 符號和 str.format() 更有效,因為它更快更容易理解。它還有助於以比其他兩種方法更快的速度在 Python 中實現字串格式。

以下程式碼使用帶有 f-strings 的字串格式在 Python 中用空格填充字串的右端。

width = 15
padding = " "
print(f'{"I am legend" :{padding}<{width}}')

輸出:

I am legend    

要將左填充新增到給定的字串,我們可以對上面的程式碼進行小的調整並使用以下程式。

width = 15
padding = " "
print(f'{"I am legend" :{padding}>{width}}')

輸出:

    I am legend

str.format() 函式的情況類似,我們可以在佔位符中指定的填充和寬度之間使用^符號,在 Python 中用空格填充字串的兩端。

width = 15
padding = " "
print(f'{"I am legend" :{padding}^{width}}')

輸出:

  I am legend  

當談到使用字串格式來實現填充字串的目的時,在我們提到的那些中,最推薦使用 f-strings,因為它更簡潔、可讀,因此更不容易出錯。

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

相關文章 - Python String