str.isidentifier()
Метод isidentifier() проверяет, является ли строка корректным идентификатором по правилам Python (имя переменной, функции, класса и т.п.). Это не учитывает, является ли слово зарезервированным (if, for, class и т.д.) — для проверки на ключевое слово используйте keyword.iskeyword().
Сигнатура
str.isidentifier()
Параметры
Метод не принимает параметров.
Возвращаемое значение
True, если строка соответствует правилам идентификатора Python: начинается с буквы или подчёркивания и состоит из букв, цифр или подчёркиваний. Иначе — False.
Примеры использования
Пример 1. Базовые случаи.
print("led_pin".isidentifier())
print("pin13".isidentifier())
print("13pin".isidentifier())
print("led pin".isidentifier())
True
True
False
False
Пример 2. Подчёркивание в начале.
print("_private".isidentifier())
print("__init__".isidentifier())
True
True
Пример 3. Кириллица.
Python допускает буквы Unicode в идентификаторах:
print("пин_светодиода".isidentifier())
True
Пример 4. Зарезервированные слова.
Метод вернёт True даже для ключевых слов — проверять keyword надо отдельно:
import keyword
name = "class"
print(name.isidentifier())
print(keyword.iskeyword(name))
True
True
Пример 5. Валидация имени переменной.
import keyword
def is_valid_var(name):
return name.isidentifier() and not keyword.iskeyword(name)
for n in ["pin", "1pin", "class", "_pin", "my var"]:
print(n, "->", is_valid_var(n))
pin -> True
1pin -> False
class -> False
_pin -> True
my var -> False
См. также
str.isalpha() — только буквы
str.isalnum() — буквы и цифры
str.startswith() — проверка начала строки
Примечание
Лицензия и источники
Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.