Chcete-li zobrazit seznam klíčových slov jazyka Python (vyhrazených slov), použijte klíčové slovo

Podnikání

Seznam klíčových slov jazyka Python (rezervovaných slov) naleznete v modulu klíčových slov standardní knihovny.

Klíčová slova (rezervovaná slova) nelze použít jako názvy (identifikátory) pro názvy proměnných, názvy funkcí, názvy tříd atd.

Zde jsou uvedeny následující informace.

  • Získání seznamu klíčových slov jazyka Python (vyhrazených slov):keyword.kwlist
  • Zkontroluje, zda je řetězec klíčovým slovem (rezervovaným slovem):keyword.iskeyword()
  • Rozdíl mezi klíčovými slovy a vyhrazenými slovy

Jak bylo uvedeno v minulé části, klíčová slova a vyhrazená slova jsou striktně odlišné pojmy.

Následující ukázkový kód používá Python 3.7.3. Všimněte si, že klíčová slova (rezervovaná slova) se mohou lišit v závislosti na verzi.

Získání seznamu klíčových slov jazyka Python (rezervovaných slov): keyword.kwlist

Seznam keyword.kwlist obsahuje seznam klíčových slov (rezervovaných slov) v jazyce Python.

V následujícím příkladu je použita funkce pprint, která usnadňuje čtení výstupu.

import keyword
import pprint

print(type(keyword.kwlist))
# <class 'list'>

print(len(keyword.kwlist))
# 35

pprint.pprint(keyword.kwlist, compact=True)
# ['False', 'None', 'True', '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']

Prvky seznamu jsou řetězce.

print(keyword.kwlist[0])
# False

print(type(keyword.kwlist[0]))
# <class 'str'>

Pokud se pokusíte tyto názvy použít jako identifikátory (názvy proměnných, funkcí, tříd atd.), zobrazí se chyba.

# True = 100
# SyntaxError: can't assign to keyword

Kontrola, zda je řetězec klíčové slovo (rezervované slovo): keyword.iskeyword()

Pomocí funkce keyword.iskeyword() můžete zkontrolovat, zda je řetězec klíčovým slovem (rezervovaným slovem).

Pokud jako argument zadáte řetězec, který chcete zkontrolovat, vrátí true, pokud se jedná o klíčové slovo, a false, pokud se nejedná o klíčové slovo.

print(keyword.iskeyword('None'))
# True

print(keyword.iskeyword('none'))
# False

Rozdíl mezi klíčovými slovy a vyhrazenými slovy

Ačkoli je používáme bez rozlišení, přísně vzato jsou klíčová slova a vyhrazená slova dva různé pojmy.

  • Klíčová slova: slova se zvláštním významem v jazykové specifikaci
  • Vyhrazená slova: slova, která splňují pravidla pro identifikátory jako řetězce, ale nelze je použít jako identifikátory.

Další podrobnosti včetně příkladů, jako např. goto je rezervované slovo, ale není klíčovým slovem v jazyce Java, najdete na následujících odkazech.

In a computer language, a reserved word (also known as a reserved identifier) is a word that cannot be used as an identifier, such as the name of a variable, function, or label – it is „reserved from use“. This is a syntactic definition, and a reserved word may have no user-define meaning.
A closely related and often conflated notion is a keyword, which is a word with special meaning in a particular context. This is a semantic definition. By contrast, names in a standard library but not built into the language are not considered reserved words or keywords. The terms „reserved word“ and „keyword“ are often used interchangeably – one may say that a reserved word is „reserved for use as a keyword“ – and formal use varies from language to language; for this article we distinguish as above.
Reserved word – Wikipedia

Keywords have a special meaning in a language, and are part of the syntax.
Reserved words are words that cannot be used as identifiers (variables, functions, etc.), because they are reserved by the language.
language agnostic – What is the difference between „keyword“ and „reserved word“? – Stack Overflow

V jazyce Python (alespoň od verze 3.7) jsou všechna klíčová slova rezervovaná slova a kromě klíčových slov neexistují žádná jiná rezervovaná slova, takže je lze bezpečně používat bez jakéhokoli rozlišování.

Názvy, které lze použít jako identifikátory, naleznete také v následujícím článku.