Python 的字符串类型 (str) 标配了操作大写和小写字母的方便方法。你可以在大写和小写之间转换,并确定大小写。
这里提供了以下信息。
- 大写和小写字母之间的转换
- 基本用途
- 处理全尺寸和半尺寸字符
str.upper()
将所有字母转换成大写字母str.lower()
将所有字母转换为小写str.capitalize()
将第一个字母转换成大写,其余的转换成小写。str.title()
将一个词的第一个字母转换成大写,其余的转换成小写。str.swapcase()
将大写字母转换成小写字母,将小写字母转换成大写字母。
- 确定大写和小写字母
str.isupper()
: 判断所有字母是否为大写字母str.islower()
: 确定所有字符是否为小写。str.istitle()
: 确定它是否是一个标题案件。
- 以不区分大小写的方式比较字符串
大写和小写字母之间的转换
基本用途
首先,我将解释基本用法。我们将使用upper()方法将所有字母大写作为一个例子,但这同样适用于其他方法。
为了方便起见,我们写 “转换”,但在 Python 中,字符串类型 (str) 对象是不可更新的,所以原始字符串 (例子中的 s_org) 本身并没有改变。
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE print(s_org) # pYThon proGramminG laNguAge
如果你以后想使用转换后的字符串,你可以把它存储在一个新的变量中,如下所示。
s_new = s_org.upper() print(s_new) # PYTHON PROGRAMMING LANGUAGE
也可以覆盖原始变量。
s_org = s_org.upper() print(s_org) # PYTHON PROGRAMMING LANGUAGE
处理全尺寸和半尺寸字符
如果一个字符是区分大小写的,如字母表,它将被转换为单字节和双字节的字符。
不区分大小写的字符,如数字和汉字,保持不变。这个例子是针对upper()的,但同样适用于其他方法。
s_org = 'Pyhon Python 123' print(s_org.upper()) # PYHON PYTHON 123
str.upper(): 将所有字母转换为大写字母
s_org = 'pYThon proGramminG laNguAge' print(s_org.upper()) # PYTHON PROGRAMMING LANGUAGE
str.lower(): 将所有字符转换为小写。
s_org = 'pYThon proGramminG laNguAge' print(s_org.lower()) # python programming language
str.capitalize(): 将第一个字母转换成大写,其余的转换成小写。
s_org = 'pYThon proGramminG laNguAge' print(s_org.capitalize()) # Python programming language
str.title(): 将单词的第一个字母转换成大写,其余的转换成小写。
转换为所谓的产权案件。
s_org = 'pYThon proGramminG laNguAge' print(s_org.title()) # Python Programming Language
str.swapcase(): 将大写字母转换成小写字母,将小写字母转换成大写字母
互换大写和小写字母。
s_org = 'pYThon proGramminG laNguAge' print(s_org.swapcase()) # PytHON PROgRAMMINg LAnGUaGE
确定大写和小写字母
在下面的例子中,方法是直接从字符串字面上调用的,如'python',但当存储在变量中时也是如此,如前面的例子。
str.isupper(): 确定所有字母是否为大写。
isupper()如果包含至少一个区分大小写的字符,并且都是大写字母,则返回true,否则返回false。
print('PYTHON'.isupper()) # True print('Python'.isupper()) # False
如果字符是区分大小写的,即使是双字节的字符也会被判断出来。
print('PYTHON'.isupper()) # True
如果甚至包括一个区分大小写的字符,不区分大小写的字符将被忽略,但如果不包括区分大小写的字符(所有字符都不区分大小写),则判定为假。
print('PYTHON 123'.isupper()) # True print('123'.isupper()) # False
str.islower(): 确定所有字符是否为小写字母
islower()如果包含至少一个大小写的字符,并且都是小写,则返回真,否则返回假。
print('python'.islower()) # True print('Python'.islower()) # False
如果字符是区分大小写的,即使是双字节的字符也会被判断出来。
print('python'.islower()) # True
如果甚至包括一个区分大小写的字符,不区分大小写的字符将被忽略,但如果不包括区分大小写的字符(所有字符都不区分大小写),则判定为假。
print('python 123'.islower()) # True print('123'.islower()) # False
str.istitle()。判断该案例是否为标题案例。
istitle()如果字符串是标题大小写(单词的第一个字母是大写,其余是小写),则返回true,否则返回false。
print('Python Programming Language'.istitle()) # True print('PYTHON Programming Language'.istitle()) # False
如果它包含不区分大小写的字符,如果不区分大小写的字符前面有一个小写字母,它将是假的。
print('★Python Programming Language'.istitle()) # True print('Python★ Programming Language'.istitle()) # True print('Py★thon Programming Language'.istitle()) # False
请注意,像上面的例子那样的字符串并不多,但在序数和其他情况下包括数字是现实的。
print('The 1st Team'.istitle()) # False print('The 1St Team'.istitle()) # True
如果不包括区分大小写的字符(所有字符都不区分大小写),则为false。
print('123'.istitle()) # False
以不区分大小写的方式比较字符串
在比较字符串时,不同的大写和小写字母不被认为是等价的。
s1 = 'python' s2 = 'PYTHON' print(s1 == s2) # False
如果你想进行不区分大小写的比较,你可以使用upper()或lower()来转换两者并进行比较。
print(s1.upper() == s2.upper()) # True print(s1.lower() == s2.lower()) # True print(s1.capitalize() == s2.capitalize()) # True print(s1.title() == s2.title()) # True