更改字串的大小寫

Python 的字串型別提供了許多作用於字串大寫的函式。這些包括 :

  • str.casefold
  • str.upper
  • str.lower
  • str.capitalize
  • str.title
  • str.swapcase

使用 unicode 字串(Python 3 中的預設值),這些操作不是 1:1 對映或可逆。這些操作中的大多數用於顯示目的,而不是標準化。

Python 3.x >= 3.3

str.casefold()

str.casefold 建立一個小寫字串,適用於不區分大小寫的比較。這比 str.lower 更具侵略性,並且可能修改已經是小寫的字串或導致字串長度增長,並且不用於顯示目的。

"XßΣ".casefold()
# 'xssσ'

"XßΣ".lower()
# 'xßς'

在案例摺疊下發生的轉換由其網站上的 CaseFolding.txt 檔案中的 Unicode Consortium 定義。

str.upper()

str.upper 接受字串中的每個字元並將其轉換為大寫等效字元,例如:

"This is a 'string'.".upper()
# "THIS IS A 'STRING'."

str.lower()

str.lower 恰恰相反; 它接受字串中的每個字元並將其轉換為小寫的等效字元:

"This IS a 'string'.".lower()
# "this is a 'string'."

str.capitalize()

str.capitalize 返回字串的大寫版本,也就是說,它使第一個字元大寫,其餘字元小寫:

"this Is A 'String'.".capitalize() # Capitalizes the first character and lowercases all others
# "This is a 'string'."

str.title()

str.title 返回字串的標題版本,也就是說,單詞開頭的每個字母都是大寫的,所有其他字母都是小寫的:

"this Is a 'String'".title()
# "This Is A 'String'"

str.swapcase()

str.swapcase 返回一個新的字串物件,其中所有小寫字元都交換為大寫字母,所有大寫字元都交換為較低字串:

"this iS A STRiNG".swapcase() #Swaps case of each character
# "THIS Is a strIng"

用作 str 類方法

值得注意的是,這些方法可以在字串物件上呼叫(如上所示),也可以作為 str 類的類方法呼叫(顯式呼叫 str.upper 等)

str.upper("This is a 'string'")
# "THIS IS A 'STRING'"

當將這些方法之一同時應用於許多字串時,例如 map 函式,這是最有用的。

map(str.upper,["These","are","some","'strings'"])
# ['THESE', 'ARE', 'SOME', "'STRINGS'"]