Python で文字列が空白文字のみかどうかをチェックする方法

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Python で文字列がすべて空白文字で構成されているかどうかをチェックする方法を学びます。実験ではまず、スペース、タブ、改行、復帰、垂直タブ、改ページなどの一般的な空白文字を定義します。次に、これらの文字とそれらがテキストの書式設定に与える影響を示す Python スクリプトを作成します。

この実験では、isspace() メソッドを使用して文字列が空白のみを含むかどうかを判断する方法を案内します。最後に、空白を含む文字列と空の文字列の違いを明確にし、Python プログラミングにおいてこれらの違いを理解する重要性を強調します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/FileHandlingGroup(["File Handling"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/FileHandlingGroup -.-> python/file_operations("File Operations") subgraph Lab Skills python/strings -.-> lab-559582{{"Python で文字列が空白文字のみかどうかをチェックする方法"}} python/build_in_functions -.-> lab-559582{{"Python で文字列が空白文字のみかどうかをチェックする方法"}} python/file_operations -.-> lab-559582{{"Python で文字列が空白文字のみかどうかをチェックする方法"}} end

空白文字の定義

このステップでは、Python の空白文字について学びます。空白文字は、空のスペースを表す文字です。これらは、コードの解釈と表示に影響を与えるため、プログラミングにおいて重要です。空白を理解することは、クリーンで読みやすい Python コードを書くために不可欠です。

一般的な空白文字には以下のものがあります。

  • スペース ( ): 最も一般的な空白文字で、単語や文を区切るために使用されます。
  • タブ (\t): インデントに使用され、通常は 4 つのスペースを表します。
  • 改行 (\n): 行の終わりを示すために使用されます。
  • 復帰 (\r): 古いシステムでは、カーソルを行の先頭に戻すために使用されます。
  • 垂直タブ (\v): あまり使用されませんが、依然として空白文字です。
  • 改ページ (\f): 印刷時に次のページに進むために使用されます。

これらの文字を示す Python スクリプトを作成しましょう。

  1. LabEx 環境で VS Code エディタを開きます。

  2. ~/project ディレクトリに whitespace_demo.py という名前の新しいファイルを作成します。

    touch ~/project/whitespace_demo.py
  3. エディタで whitespace_demo.py ファイルを開き、以下の内容を追加します。

    ## Demonstrating whitespace characters
    
    space_char = " "
    tab_char = "\t"
    newline_char = "\n"
    carriage_return_char = "\r"
    vertical_tab_char = "\v"
    form_feed_char = "\f"
    
    print("This", space_char, "is", space_char, "separated", space_char, "by", space_char, "spaces.")
    print("This\tis\tseparated\tby\ttabs.")
    print("This" + newline_char + "is" + newline_char + "on" + newline_char + "multiple" + newline_char + "lines.")
    print("This" + carriage_return_char + "will overwrite the beginning of the line.")
    print("Vertical" + vertical_tab_char + "Tab")
    print("Form" + form_feed_char + "Feed")

    このスクリプトは、各空白文字に対する変数を定義し、それらを print() 文で使用してそれらの効果を示します。

  4. python コマンドを使用してスクリプトを実行します。

    python ~/project/whitespace_demo.py

    以下のような出力が表示されるはずです。

    This   is   separated   by   spaces.
    This    is      separated       by      tabs.
    This
    is
    on
    multiple
    lines.
     will overwrite the beginning of the line.
    Vertical Tab
    Form Feed

    各空白文字が出力の書式設定にどのように影響するかに注目してください。改行文字は改行を作成し、タブ文字は水平方向の間隔を作成します。復帰文字は行の先頭を上書きします。垂直タブと改ページ文字は、使用しているターミナルによっては表示されない場合があります。

isspace() メソッドの使用

このステップでは、Python の isspace() メソッドを使用して、文字列が空白文字のみで構成されているかどうかをチェックする方法を学びます。このメソッドは、ユーザー入力の検証やデータのクリーニングに非常に役立ちます。

isspace() メソッドは組み込みの文字列メソッドで、文字列内のすべての文字が空白文字(スペース、タブ、改行など)であり、かつ少なくとも 1 つの文字が存在する場合に True を返します。それ以外の場合は False を返します。

isspace() メソッドを示す Python スクリプトを作成しましょう。

  1. LabEx 環境で VS Code エディタを開きます。

  2. ~/project ディレクトリに isspace_demo.py という名前の新しいファイルを作成します。

    touch ~/project/isspace_demo.py
  3. エディタで isspace_demo.py ファイルを開き、以下の内容を追加します。

    ## Demonstrating the isspace() method
    
    string1 = "   "  ## Contains only spaces
    string2 = "\t\n"  ## Contains tabs and newlines
    string3 = "  abc  "  ## Contains spaces and letters
    string4 = ""  ## Empty string
    string5 = "123" ## Contains numbers
    
    print(f"'{string1}'.isspace(): {string1.isspace()}")
    print(f"'{string2}'.isspace(): {string2.isspace()}")
    print(f"'{string3}'.isspace(): {string3.isspace()}")
    print(f"'{string4}'.isspace(): {string4.isspace()}")
    print(f"'{string5}'.isspace(): {string5.isspace()}")

    このスクリプトは、空白文字と非空白文字のさまざまな組み合わせを持ついくつかの文字列を定義します。そして、isspace() メソッドを使用して、各文字列が空白文字のみで構成されているかどうかをチェックします。

  4. python コマンドを使用してスクリプトを実行します。

    python ~/project/isspace_demo.py

    以下のような出力が表示されるはずです。

    '   '.isspace(): True
    '
    '.isspace(): True
    '  abc  '.isspace(): False
    ''.isspace(): False
    '123'.isspace(): False

    ご覧のとおり、isspace() は空白文字のみを含み、かつ空でない文字列に対してのみ True を返します。

空文字列との区別

このステップでは、Python で空白文字のみを含む文字列と空文字列を区別する方法を学びます。isspace() メソッドは空文字列に対して異なる動作をするため、この違いを理解することは重要です。

前のステップで学んだように、isspace() メソッドは、文字列内のすべての文字が空白文字であり、かつ文字列が空でない場合に True を返します。空文字列(文字が含まれていない文字列)に対しては、isspace()False を返します。

前のステップの isspace_demo.py スクリプトを修正して、この違いを強調しましょう。

  1. ~/project ディレクトリの VS Code エディタで isspace_demo.py ファイルを開きます。

  2. スクリプトを修正して、空文字列に対するより明示的なチェックを含めます。

    ## Demonstrating the isspace() method and empty strings
    
    string1 = "   "  ## Contains only spaces
    string2 = ""  ## Empty string
    
    print(f"'{string1}'.isspace(): {string1.isspace()}")
    print(f"'{string2}'.isspace(): {string2.isspace()}")
    
    if string2:
        print("string2 is not empty")
    else:
        print("string2 is empty")
    
    if string1.isspace():
        print("string1 contains only whitespace")
    else:
        print("string1 does not contain only whitespace")

    このスクリプトには、string2 が空であるかどうかをチェックする if 文が含まれています。また、string1 が空白文字のみを含むかどうかもチェックします。

  3. python コマンドを使用してスクリプトを実行します。

    python ~/project/isspace_demo.py

    以下のような出力が表示されるはずです。

    '   '.isspace(): True
    ''.isspace(): False
    string2 is empty
    string1 contains only whitespace

    この出力は、isspace() が空文字列に対して False を返し、if 文が string2 を空文字列として正しく識別していることを明確に示しています。

まとめ

この実験では、Python の空白文字について学びました。空白文字は空のスペースを表し、コードの解釈や表示に影響を与えます。この実験では、スペース、タブ、改行、復帰、垂直タブ、改ページなどの一般的な空白文字を取り上げました。

whitespace_demo.py という名前の Python スクリプトを作成し、各空白文字に対して変数を定義し、print() 文で使用することで、これらの文字がテキストの書式設定や出力に与える影響を示しました。