如何在 Python 中检查字符串是否为大写

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,你将学习如何使用 Python 检查一个字符串是否全部为大写字母。实验首先会探讨大写字符串,并创建一个 Python 文件来对不同的字符串示例进行试验。然后,你将使用 isupper() 方法(一个内置的字符串方法)来判断字符串中的所有字符是否都是大写字母。

最后,本实验将指导你在检查大写字符串时如何处理非字母字符,确保即使字符串中包含数字或空格,也能得到准确的结果。这需要修改代码以遍历字符串并逐个检查每个字符。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/strings -.-> lab-559581{{"如何在 Python 中检查字符串是否为大写"}} python/function_definition -.-> lab-559581{{"如何在 Python 中检查字符串是否为大写"}} python/build_in_functions -.-> lab-559581{{"如何在 Python 中检查字符串是否为大写"}} end

探索大写字符串

在这一步中,你将了解 Python 中的大写字符串以及如何识别它们。掌握处理大写字符串的方法对于数据验证、文本规范化和命令处理等任务至关重要。

让我们从创建一个 Python 文件来对字符串进行试验开始。

  1. 在 LabEx 环境中打开 VS Code 编辑器。
  2. ~/project 目录下创建一个名为 uppercase_strings.py 的新文件。

你可以通过点击 VS Code 菜单中的“File” -> “New File”来创建新文件,然后将其保存为 uppercase_strings.py~/project 目录中。

  1. 将以下 Python 代码添加到 uppercase_strings.py 文件中:
## Example strings
string1 = "HELLO"
string2 = "Hello"
string3 = "123HELLO"
string4 = "HELLO WORLD"

## Print the strings
print(f"String 1: {string1}")
print(f"String 2: {string2}")
print(f"String 3: {string3}")
print(f"String 4: {string4}")

这段代码定义了四个字符串:string1string2string3string4。使用 print() 函数来显示这些字符串。

现在,让我们运行这个脚本以查看输出结果。

  1. 在 VS Code 环境中打开一个终端。

你可以通过点击 VS Code 菜单中的“View” -> “Terminal”来打开终端。

  1. 使用以下命令执行 Python 脚本:
python uppercase_strings.py

你应该会看到以下输出:

String 1: HELLO
String 2: Hello
String 3: 123HELLO
String 4: HELLO WORLD

在下一个步骤中,你将学习如何使用 isupper() 方法来检查一个字符串是否全部为大写字母。

使用 isupper() 方法

在这一步中,你将学习如何使用 Python 中的 isupper() 方法来检查一个字符串是否全部为大写字母。isupper() 方法是一个内置的字符串方法,如果字符串中的所有字符都是大写字母,则返回 True,否则返回 False

让我们修改上一步创建的 uppercase_strings.py 文件,以使用 isupper() 方法。

  1. 在 VS Code 编辑器中打开 uppercase_strings.py 文件。
  2. 按如下方式修改代码,以包含 isupper() 方法:
## Example strings
string1 = "HELLO"
string2 = "Hello"
string3 = "123HELLO"
string4 = "HELLO WORLD"

## Check if the strings are uppercase using isupper()
result1 = string1.isupper()
result2 = string2.isupper()
result3 = string3.isupper()
result4 = string4.isupper()

## Print the results
print(f"String 1: {string1}, is uppercase: {result1}")
print(f"String 2: {string2}, is uppercase: {result2}")
print(f"String 3: {string3}, is uppercase: {result3}")
print(f"String 4: {string4}, is uppercase: {result4}")

在这段代码中,我们对每个示例字符串调用 isupper() 方法,并将结果存储在变量 result1result2result3result4 中。然后,我们打印原始字符串及其对应的 isupper() 方法的结果。

现在,让我们运行这个脚本以查看输出结果。

  1. 在 VS Code 环境中打开一个终端。
  2. 使用以下命令执行 Python 脚本:
python uppercase_strings.py

你应该会看到以下输出:

String 1: HELLO, is uppercase: True
String 2: Hello, is uppercase: False
String 3: 123HELLO, is uppercase: False
String 4: HELLO WORLD, is uppercase: False

如你所见,string1(HELLO)是唯一返回 True 的字符串,因为它的所有字符都是大写字母。其他字符串返回 False,因为它们包含小写字母、数字或空格。

在下一个步骤中,你将学习在检查大写字符串时如何处理非字母字符。

处理非字母字符

在这一步中,你将学习在检查字符串是否为大写时如何处理非字母字符。isupper() 方法只有在所有字符都是大写字母时才会返回 True。如果字符串包含数字、空格或其他非字母字符,isupper() 将返回 False。为了处理这种情况,你可以在应用 isupper() 方法之前过滤掉非字母字符。

让我们修改 uppercase_strings.py 文件以处理非字母字符。

  1. 在 VS Code 编辑器中打开 uppercase_strings.py 文件。
  2. 修改代码,加入一个用于过滤非字母字符的机制,如下所示:
## Example strings
string1 = "HELLO"
string2 = "Hello"
string3 = "123HELLO"
string4 = "HELLO WORLD"
string5 = "HELLO123WORLD"

## Function to check if a string is uppercase, ignoring non-letters
def is_uppercase_ignore_non_letters(s):
    letters = ''.join(filter(str.isalpha, s))
    return letters.isupper()

## Check if the strings are uppercase using the custom function
result1 = is_uppercase_ignore_non_letters(string1)
result2 = is_uppercase_ignore_non_letters(string2)
result3 = is_uppercase_ignore_non_letters(string3)
result4 = is_uppercase_ignore_non_letters(string4)
result5 = is_uppercase_ignore_non_letters(string5)

## Print the results
print(f"String 1: {string1}, is uppercase (ignoring non-letters): {result1}")
print(f"String 2: {string2}, is uppercase (ignoring non-letters): {result2}")
print(f"String 3: {string3}, is uppercase (ignoring non-letters): {result3}")
print(f"String 4: {string4}, is uppercase (ignoring non-letters): {result4}")
print(f"String 5: {string5}, is uppercase (ignoring non-letters): {result5}")

在这段代码中:

  • 我们定义了一个函数 is_uppercase_ignore_non_letters(s),它使用 filter(str.isalpha, s) 从输入字符串 s 中过滤掉非字母字符。str.isalpha() 方法在字符是字母(A - Z、a - z)时返回 True,否则返回 False
  • ''.join() 方法将过滤后的字母重新组合成一个字符串。
  • 然后,我们对过滤后的字符串应用 isupper() 方法。
  • 最后,我们打印原始字符串以及自定义函数对应的结果。

现在,让我们运行脚本以查看输出。

  1. 在 VS Code 环境中打开一个终端。
  2. 使用以下命令执行 Python 脚本:
python uppercase_strings.py

你应该会看到以下输出:

String 1: HELLO, is uppercase (ignoring non-letters): True
String 2: Hello, is uppercase (ignoring non-letters): False
String 3: 123HELLO, is uppercase (ignoring non-letters): True
String 4: HELLO WORLD, is uppercase (ignoring non-letters): False
String 5: HELLO123WORLD, is uppercase (ignoring non-letters): True

如你所见,string3(123HELLO)和 string5(HELLO123WORLD)现在返回 True,因为非字母字符被忽略了,而剩余的字母都是大写的。

这种方法使你能够准确判断一个字符串是否为大写,即使它包含非字母字符。

总结

在这个实验中,你首先探索了 Python 中的大写字符串,并创建了一个 uppercase_strings.py 文件来进行相关实验。你定义了四个大小写和内容各异的字符串,然后使用 print() 函数将它们打印到控制台。这使你能够直观地查看不同的字符串格式,并为下一步使用 isupper() 方法做好准备。

下一步将重点介绍如何利用 isupper() 方法以编程方式判断一个字符串是否完全由大写字符组成。