str.capitalize() 與 str.title() 的區別


在 Python 中,字串是由雙引號 (" ") 或單引號 (' ') 括起來的一系列字元。字串用於表示 Python 中的文字資料,可以包含字母、數字和符號。

Python 中的字串資料型別是不可變的,也就是說,一旦建立了一個字串例項,它的值就不能更改。但是,可以建立一個新的字串,其中包含對原始字串所做的必要更改。

Python 字串帶有許多方法,例如 capitalize()、upper()、title()、split()、strip()、join() 等,這些方法也可用於操作字串。

str.capitalize()

當呼叫 Python 方法 capitalize() 時,輸入字串會將第一個單詞的第一個字母大寫。作為返回,此方法給出一個字串,該字串的單詞首字母大寫,而輸入字串的其餘部分保持不變。該方法將生成一個首字母大寫的新字串,但不更改原始輸入字串。

語法

str_name.capitalize()

這裡,str_name 是要大寫的輸入字串。capitalize() 方法不接受任何引數。

示例

str = 'hello world'
print(str.capitalize())  

輸出

Hello world

如前所述,capitalize() 方法對於大寫字串中的首字母同時保持其餘字母的大小寫特別有用。

str.title()

Python 方法 title() 是一個字串方法,用於將輸入字串中每個單詞的第一個字元轉換為大寫,其餘所有字元轉換為小寫。title() 返回一個新字串,其中只有單詞的首字母是大寫的。

title() 方法能夠保留原始輸入字串是一個關鍵特性。但它返回一個新的修改後的字串。因此,如果需要更改原始字串,則應將更改後的字串分配給原始字串。

語法

str_name.title()

這裡,tr_name 是要修改的字串。title() 方法不接受任何引數,與之前的 capitalize() 方法相同。

示例

s = 'hello world'
print(s.title())  

輸出

Hello World

如上面給出的示例程式碼所示,字串方法 title() 不僅將輸入字串中每個單詞的首字母大寫,還將所有其餘字母更改為小寫。

雖然 capitalize() 和 title() 方法目前都用於更改字串,但它們之間的關鍵區別在於它們如何轉換所述字串。

capitalize() 和 title() 方法的區別在於,前者只更改字串的第一個字元,而後者更新給定輸入字串中每個單詞的第一個字元,如上所述。無論字串中有多少個單詞,capitalize() 方法都只會修改第一個字元。相反,title() 方法會將字串中每個單詞的首字母大寫。

title() 和 capitalize() 處理非字母字元的方式是另一個區別。capitalize() 方法將字串中的字母字元大寫,並將所有其他字元轉換為小寫。任何存在的非字母字元都不會受到影響。但 title() 方法保留字串中的大寫字元。因此,如果字串中已經有大小寫字元,使用 title() 方法不會將它們轉換為小寫。

示例

為了更好地理解這種區別,讓我們來看一個程式碼示例,其中我們對錶示名稱的字串使用 title() 方法,對句子使用 capitalize() 方法。

演算法

  • 用值 "john doe" 初始化字串變數 'name'。

  • 使用 title() 方法將字串變數 'name' 轉換為標題大小寫,並列印結果。

  • 使用 capitalize() 方法將 'name' 轉換為首字母大寫,並列印結果。

  • 用值 "this is a SENTENCE." 初始化字串變數 'sentence'。

  • 使用 title() 方法將字串變數 'sentence' 的值轉換為標題大小寫,並列印結果。

  • 使用 capitalize() 方法將 'sentence' 轉換為首字母大寫,並列印結果。

示例

name = "john  doe"

print(name.title())
print(name.capitalize())
 
sentence = "this is a sentence."
print(sentence.title())
print(sentence.capitalize())
 

輸出

John  Doe
John  doe
This Is A Sentence.
This is a sentence.

capitalize() 與 title() 的總結

str.capitalize() str.title()
定義 將字串的第一個字元大寫,並將其餘字元轉換為小寫。 將字串中每個單詞的第一個字元大寫,並將其餘字元轉換為小寫。
語法 str_name.capitalize() str_name.title()
返回型別 字串 字串

結論

因此,capitalize() 和 title() 方法在不同的情況下都有用。因此,使用哪種方法取決於具體的用例。

更新於:2023年8月10日

302 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.