Всіх вітаю! Дана стаття буде присвячена вбудованому модулю keyword та його функціоналу.
Що таке модуль keyword?
Модуль keyword призначений для роботи із ключовими словами у мові Python. Даний модуль надає можливість перевіряти приналежність рядків до ключових слів та отримувати списки цих ключових слів для подальшої роботи у коді.
Також перед розбором функціоналу варто зазначити, що змінна softkwlist та функція issoftkeyword() були повноцінно додані у модуль лише з версії 3.10.
Огляд функціоналу
Виводимо список усіх ключових слів
Змінна kwlist вміщає список усіх ключових слів у мові Python. Спочатку варто імпортувати модуль keyword:
import keywordТепер потрібно просто використати дану змінну у коді:
keywords_list = keyword.kwlist
print(keywords_list)Ось і результат:
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']Виводимо список усіх “м’яких” ключових слів
Спочатку треба розібратися з тим, що таке так звані “м’які” ключові слова. М’які ключові слова — це такі ключові слова, які є ключовими тільки у специфічному контексті.
Наприклад, слово “def“ є просто ключовим словом незалежно від контексту. Тобто ви можете просто написати “def“ і одразу побачити виділення цього слова у середовищі розробки. А от якщо ми використаємо слово match (яке належить до умови match/case), то воно не виділиться як ключове слово.
Для того, аби вивести список з усіма м’якими ключовими словами потрібно застосувати змінну softkwlist.
Ось використання змінної softkwlist у коді:
import keyword
soft_keywords_list = keyword.softkwlist
print(soft_keywords_list)Результат:
['_', 'case', 'match', 'type']Перевірка приналежності рядка до ключових слів
У модулі keyword також існує окрема функція, яка перевіряє, чи не належить рядок до ключових слів. Отже, дана функція називається iskeyword()і також вона приймає рядок із ключовим словом у якості параметра.
Ось яким чином можна використати дану функцію:
import keyword
text = "match"
check_keywords = keyword.iskeyword(text)
print(check_keywords)Результат:
FalseУ даному випадку ми отримали False, бо “match“ належить до м’яких ключових слів, а не до простих.
Перевірка приналежності рядка до “м’яких” ключових слів
Так само як iskeyword() діє й функція issoftkeyword(), яка перевіряє приналежність рядка саме до м’яких ключових слів.
Просто передаємо рядок як параметр у функцію і все працює:
import keyword
text = "match"
check_keywords = keyword.issoftkeyword(text)
print(check_keywords)Результат:
TrueКлючове слово “match“ є м’яким, тому отримали True.
Висновок
Отже, у рамках даної статті було розглянуто функціонал вбудованого модуля keyword, який дозволяє легко й просто працювати із ключовими словами. Дякую за увагу!