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」をクリックして新しいファイルを作成し、~/project ディレクトリに uppercase_strings.py として保存することができます。

  3. uppercase_strings.py ファイルに以下の Python コードを追加します。

## 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 の 4 つの文字列を定義しています。print() 関数を使用してこれらの文字列を表示します。

では、スクリプトを実行して出力を確認しましょう。

  1. VS Code 環境でターミナルを開きます。

    VS Code のメニューで「View」 -> 「Terminal」をクリックすることでターミナルを開くことができます。

  2. 以下のコマンドを使用して 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 ファイルを作成して実験を行いました。大文字と小文字の使用や内容が異なる 4 つの文字列を定義し、print() 関数を使用してコンソールに出力しました。これにより、さまざまな文字列形式を視覚的に確認し、次のステップで isupper() メソッドを使用する準備をすることができました。

次のステップでは、isupper() メソッドを利用して、文字列が完全に大文字で構成されているかどうかをプログラム的に判断することに焦点を当てます。