Как проверить, состоит ли строка только из пробельных символов в Python

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь проверять, состоит ли строка только из пробельных символов в Python. Практическое занятие начинается с определения общих пробельных символов, таких как пробел, табуляция, новая строка, возврат каретки, вертикальная табуляция и перевод страницы. Затем вы создадите скрипт на Python, чтобы продемонстрировать эти символы и их влияние на форматирование текста.

В рамках практического занятия вы научитесь использовать метод isspace() для определения, содержит ли строка только пробельные символы. В конце занятия будут показаны различия между строками, содержащими пробельные символы, и пустыми строками, а также подчеркнута важность понимания этих различий в программировании на Python.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FileHandlingGroup(["File Handling"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) 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): Используется для отступов, обычно представляет собой четыре пробела.
  • Новая строка (\n): Используется для обозначения конца строки.
  • Возврат каретки (\r): Используется в старых системах для возврата курсора в начало строки.
  • Вертикальная табуляция (\v): Реже используется, но все же является пробельным символом.
  • Перевод страницы (\f): Используется для перехода к следующей странице при печати.

Создадим скрипт на Python, чтобы продемонстрировать эти символы.

  1. Откройте редактор VS Code в среде LabEx.

  2. Создайте новый файл с именем whitespace_demo.py в директории ~/project.

    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()

На этом этапе вы узнаете, как использовать метод isspace() в Python для проверки, состоит ли строка только из пробельных символов. Этот метод очень полезен для валидации пользовательского ввода или очистки данных.

Метод isspace() - это встроенный метод строки, который возвращает True, если все символы в строке являются пробельными (пробел, табуляция, новая строка и т.д.) и в строке есть хотя бы один символ. В противном случае он возвращает False.

Создадим скрипт на Python, чтобы продемонстрировать метод isspace().

  1. Откройте редактор VS Code в среде LabEx.

  2. Создайте новый файл с именем isspace_demo.py в директории ~/project.

    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. Откройте файл isspace_demo.py в редакторе VS Code в директории ~/project.

  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")

    Теперь этот скрипт включает оператор if для проверки, является ли string2 пустой строкой. Он также проверяет, содержит ли string1 только пробельные символы.

  3. Запустите скрипт с помощью команды python:

    python ~/project/isspace_demo.py

    Вы должны увидеть вывод, похожий на следующий:

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

    Этот вывод четко показывает, что метод isspace() возвращает False для пустой строки, и оператор if правильно определяет string2 как пустую строку.

Резюме

В этом практическом занятии (лабораторной работе) вы узнали о пробельных символах в Python. Пробельные символы представляют собой пустое пространство и влияют на интерпретацию и отображение кода. В рамках практики были рассмотрены общие пробельные символы, такие как пробел, табуляция, новая строка, возврат каретки, вертикальная табуляция и перевод страницы.

Вы создали скрипт на Python с именем whitespace_demo.py, чтобы продемонстрировать эти символы. В скрипте были определены переменные для каждого из этих символов, а затем они были использованы в операторах print() для иллюстрации их влияния на форматирование текста и вывод.