Python 에서 문자열이 공백인지 확인하는 방법

PythonBeginner
지금 연습하기

소개

이 랩에서는 Python 에서 문자열이 공백 문자로만 구성되어 있는지 확인하는 방법을 배우게 됩니다. 랩은 공백, 탭, 줄 바꿈, 캐리지 리턴, 수직 탭 및 폼 피드와 같은 일반적인 공백 문자를 정의하는 것으로 시작합니다. 그런 다음 이러한 문자와 텍스트 서식 지정에 미치는 영향을 보여주는 Python 스크립트를 생성합니다.

이 랩은 isspace() 메서드를 사용하여 문자열에 공백만 포함되어 있는지 확인하는 과정을 안내합니다. 마지막으로, 공백을 포함하는 문자열과 빈 문자열을 구분하여 Python 프로그래밍에서 이러한 구분을 이해하는 것의 중요성을 강조합니다.

공백 문자 정의

이 단계에서는 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() 메서드는 문자열의 모든 문자가 공백 문자 (공백, 탭, 줄 바꿈 등) 이고 문자가 하나 이상 있는 경우 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 에서 빈 공간을 나타내며 코드 해석 및 디스플레이에 영향을 미치는 문자, 즉 공백 문자에 대해 배웠습니다. 이 랩에서는 공백, 탭, 줄 바꿈, 캐리지 리턴, 수직 탭 및 폼 피드와 같은 일반적인 공백 문자를 다루었습니다.

각 문자에 대한 변수를 정의하고 print() 문에서 사용하여 텍스트 서식 및 출력에 미치는 영향을 보여주는 whitespace_demo.py라는 Python 스크립트를 만들었습니다.