Aby wyświetlić listę słów kluczowych Pythona (słów zarezerwowanych), należy użyć słowa kluczowego

Biznes

Listę słów kluczowych Pythona (słów zarezerwowanych) można znaleźć w module słów kluczowych biblioteki standardowej.

Słowa kluczowe (słowa zarezerwowane) nie mogą być używane jako nazwy (identyfikatory) dla nazw zmiennych, nazw funkcji, nazw klas itp.

Podane są tu następujące informacje.

  • Uzyskaj listę słów kluczowych Pythona (słów zarezerwowanych):keyword.kwlist
  • Sprawdza, czy łańcuch jest słowem kluczowym (słowem zarezerwowanym):keyword.iskeyword()
  • Różnica między słowami kluczowymi a słowami zastrzeżonymi

Jak wspomniano w poprzedniej sekcji, słowa kluczowe i słowa zastrzeżone są ściśle różnymi pojęciami.

Poniższy przykładowy kod wykorzystuje Pythona 3.7.3. Zwróć uwagę, że słowa kluczowe (zarezerwowane) mogą się różnić w zależności od wersji.

Pobierz listę słów kluczowych Pythona (słów zarezerwowanych): keyword.kwlist

Lista keyword.kwlist zawiera listę słów kluczowych (słów zarezerwowanych) w Pythonie.

W poniższym przykładzie użyto pprint, aby ułatwić odczytanie danych wyjściowych.

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']

Elementami listy są ciągi znaków.

print(keyword.kwlist[0])
# False

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

Jeśli spróbujesz użyć tych nazw jako identyfikatorów (nazw zmiennych, nazw funkcji, nazw klas, itp.), otrzymasz błąd.

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

Sprawdź, czy łańcuch jest słowem kluczowym (słowem zarezerwowanym): keyword.iskeyword()

Możesz sprawdzić czy łańcuch jest słowem kluczowym (zarezerwowanym słowem) używając keyword.iskeyword().

Gdy jako argument podasz łańcuch, który chcesz sprawdzić, zwraca on wartość true, jeśli jest to słowo kluczowe, a false, jeśli nie.

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

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

Różnica między słowami kluczowymi a słowami zastrzeżonymi

Choć do tej pory używaliśmy ich bez rozróżnienia, ściśle rzecz biorąc, słowa kluczowe i słowa zastrzeżone to dwa różne pojęcia.

  • Słowa kluczowe: słowa o szczególnym znaczeniu w specyfikacji językowej
  • Zarezerwowane słowa: słowa, które spełniają reguły dla identyfikatorów jako łańcuchów, ale nie mogą być używane jako identyfikatory.

Zobacz następujące linki, aby uzyskać więcej szczegółów, w tym przykłady, takie jak goto jest zarezerwowanym słowem, ale nie słowem kluczowym w Javie.

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

W Pythonie (przynajmniej od Pythona 3.7) wszystkie słowa kluczowe są słowami zastrzeżonymi i nie ma innych słów zastrzeżonych poza słowami kluczowymi, więc bezpiecznie jest używać ich bez rozróżniania.

Zobacz także poniższy artykuł o nazwach, które mogą być używane jako identyfikatory.

Copied title and URL