Как проверить, является ли строка алфавитно-цифровой в Python

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

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

Введение

В этом практическом занятии (лабораторной работе) вы научитесь проверять, является ли строка в Python алфавитно-цифровой. Это включает в себя понимание, что такое алфавитно-цифровые символы (буквы от a до z, от A до Z и цифры от 0 до 9) и как их идентифицировать с помощью метода isalnum(). Вы начнете с создания Python-скрипта для изучения базовых проверок символов, определяя, являются ли отдельные символы, такие как "A", "1" и "*", алфавитно-цифровыми.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/strings -.-> lab-559576{{"Как проверить, является ли строка алфавитно-цифровой в Python"}} python/booleans -.-> lab-559576{{"Как проверить, является ли строка алфавитно-цифровой в Python"}} python/conditional_statements -.-> lab-559576{{"Как проверить, является ли строка алфавитно-цифровой в Python"}} python/for_loops -.-> lab-559576{{"Как проверить, является ли строка алфавитно-цифровой в Python"}} python/build_in_functions -.-> lab-559576{{"Как проверить, является ли строка алфавитно-цифровой в Python"}} end

Понимание алфавитно-цифровых символов

На этом этапе вы узнаете о алфавитно-цифровых символах и о том, как их идентифицировать в Python. Алфавитно-цифровые символы - это символы, которые являются либо буквами (от a до z, от A до Z), либо цифрами (от 0 до 9). Понимание того, как работать с этими символами, является фундаментальным в многих программировании, таких как валидация пользовательского ввода или разбор данных.

Для начала создадим Python-скрипт для изучения алфавитно-цифровых символов.

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

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

    touch ~/project/alphanumeric.py
  3. Откройте файл alphanumeric.py в редакторе.

Теперь добавим в этот файл некоторый Python-код. Начнем с понимания того, как проверить, является ли символ алфавитно-цифровым, используя метод isalnum().

## alphanumeric.py
char1 = "A"
char2 = "1"
char3 = "*"

print(char1.isalnum())
print(char2.isalnum())
print(char3.isalnum())

В этом коде:

  • Мы определяем три переменные: char1, char2 и char3, каждая из которых содержит разный символ.
  • Мы используем метод isalnum() для проверки, является ли каждый символ алфавитно-цифровым.
  • Мы используем функцию print() для отображения результатов.

Для запуска этого скрипта:

  1. Откройте терминал в VS Code.

  2. Перейдите в директорию ~/project (по умолчанию вы уже должны находиться там).

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

    python alphanumeric.py

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

True
True
False

Этот вывод показывает, что:

  • "A" - это алфавитно-цифровой символ (буква).
  • "1" - это алфавитно-цифровой символ (цифра).
  • "*" - это не алфавитно-цифровой символ (специальный символ).

Этот простой пример демонстрирует, как идентифицировать алфавитно-цифровые символы в Python с использованием метода isalnum(). В следующих шагах мы рассмотрим более продвинутые применения этого метода.

Использование метода isalnum()

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

Давайте изменим файл alphanumeric.py, который мы создали на предыдущем этапе.

  1. Откройте файл alphanumeric.py в редакторе VS Code.

  2. Замените существующий код следующим:

    ## alphanumeric.py
    string = "LabEx2024!"
    
    for char in string:
        if char.isalnum():
            print(f"{char} is alphanumeric")
        else:
            print(f"{char} is not alphanumeric")

В этом коде:

  • Мы определяем строковую переменную с именем string со значением "LabEx2024!".
  • Мы используем цикл for для перебора каждого символа в строке.
  • Внутри цикла мы используем метод isalnum() для проверки, является ли текущий символ алфавитно-цифровым.
  • Мы используем оператор if для вывода информации о том, является ли каждый символ алфавитно-цифровым или нет.

Для запуска этого скрипта:

  1. Убедитесь, что вы находитесь в директории ~/project в терминале.

  2. Выполните скрипт с помощью команды python:

    python alphanumeric.py

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

L is alphanumeric
a is alphanumeric
b is alphanumeric
E is alphanumeric
x is alphanumeric
2 is alphanumeric
0 is alphanumeric
2 is alphanumeric
4 is alphanumeric
! is not alphanumeric

Этот вывод показывает, что каждая буква и цифра в строке "LabEx2024!" определяются как алфавитно-цифровые, в то время как символ "!" - нет.

Этот пример демонстрирует, как использовать метод isalnum() в сочетании с циклами для обработки строк и идентификации алфавитно-цифровых символов. Это распространенная задача во многих реальных приложениях, таких как валидация имен пользователей или разбор данных.

Обработка пустых строк

На этом этапе мы узнаем, как обрабатывать пустые строки при использовании метода isalnum(). Пустая строка - это строка, которая не содержит символов (например, ""). Правильная обработка пустых строк важна, чтобы избежать непредвиденного поведения в ваших программах.

Давайте изменим файл alphanumeric.py, с которым мы работали ранее.

  1. Откройте файл alphanumeric.py в редакторе VS Code.

  2. Замените существующий код следующим:

    ## alphanumeric.py
    string = ""
    
    if string:
        for char in string:
            if char.isalnum():
                print(f"{char} is alphanumeric")
            else:
                print(f"{char} is not alphanumeric")
    else:
        print("The string is empty.")

В этом коде:

  • Мы определяем строковую переменную с именем string и присваиваем ей пустую строку "".
  • Мы используем оператор if для проверки, является ли строка пустой. В Python пустая строка в булевом контексте оценивается как False.
  • Если строка не пуста (то есть содержит хотя бы один символ), мы перебираем строку и проверяем каждый символ на алфавитно-цифровые свойства, как мы делали на предыдущем этапе.
  • Если строка пуста, мы выводим сообщение "The string is empty."

Для запуска этого скрипта:

  1. Убедитесь, что вы находитесь в директории ~/project в терминале.

  2. Выполните скрипт с помощью команды python:

    python alphanumeric.py

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

The string is empty.

Этот вывод показывает, что код правильно определяет пустую строку и выводит соответствующее сообщение.

Обработка пустых строк является важной задачей в реальных приложениях, особенно при работе с пользовательским вводом или внешними источниками данных. Проверяя строки на пустоту перед их обработкой, вы можете предотвратить ошибки и обеспечить предсказуемое поведение ваших программ.

Резюме

В этом практическом занятии (лабораторной работе) вы узнали о алфавитно-цифровых символах в Python, которые включают буквы (от a до z, от A до Z) и цифры (от 0 до 9). Вы создали скрипт на Python с именем alphanumeric.py и использовали метод isalnum() для проверки, являются ли отдельные символы алфавитно-цифровыми.

В рамках практического занятия показано, как применять метод isalnum() к различным символам и интерпретировать булевы результаты (True или False) для определения, является ли символ алфавитно-цифровым или нет. Вы выполнили скрипт в терминале VS Code, чтобы проверить вывод.