A Python kulcsszavak (foglalt szavak) listájának megtekintéséhez használja a kulcsszót

Üzleti

A Python kulcsszavak (fenntartott szavak) listája megtalálható a szabványos könyvtár kulcsszavas moduljában.

A kulcsszavak (fenntartott szavak) nem használhatók a változók, függvények, osztályok stb. neveként (azonosítóként).

A következő információk itt találhatók.

  • A Python kulcsszavak (foglalt szavak) listájának lekérdezése:keyword.kwlist
  • Ellenőrzi, hogy a karakterlánc kulcsszó-e (foglalt szó):keyword.iskeyword()
  • A kulcsszavak és a fenntartott szavak közötti különbség

Amint az előző szakaszban említettük, a kulcsszavak és a fenntartott szavak szigorúan különböző fogalmak.

Az alábbi példakód a Python 3.7.3 programot használja. Vegye figyelembe, hogy a kulcsszavak (fenntartott szavak) változattól függően eltérhetnek.

A Python kulcsszavak (foglalt szavak) listájának lekérdezése: keyword.kwlist

A keyword.kwlist a Pythonban használt kulcsszavak (foglalt szavak) listáját tartalmazza.

A következő példában a pprint-et használjuk, hogy a kimenet könnyebben olvasható legyen.

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

A lista elemei karakterláncok.

print(keyword.kwlist[0])
# False

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

Ha megpróbálja ezeket a neveket azonosítóként használni (változónevek, függvénynevek, osztálynevek stb.), hibaüzenetet kap.

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

Ellenőrizze, hogy a karakterlánc kulcsszó-e (foglalt szó): keyword.iskeyword()

A keyword.iskeyword() segítségével ellenőrizheti, hogy egy karakterlánc kulcsszó-e (foglalt szó).

Ha argumentumként megadod az ellenőrizni kívánt karakterláncot, akkor true-t ad vissza, ha az egy kulcsszó, és false-t, ha nem az.

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

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

A kulcsszavak és a fenntartott szavak közötti különbség

Bár eddig megkülönböztetés nélkül használtuk őket, szigorúan véve a kulcsszavak és a fenntartott szavak két különböző fogalom.

  • Kulcsszavak: a nyelvi specifikációban különleges jelentéssel bíró szavak.
  • Fenntartott szavak: olyan szavak, amelyek megfelelnek az azonosítókra vonatkozó szabályoknak, de nem használhatók azonosítóként.

További részletekért lásd a következő linkeket, beleértve olyan példákat is, mint például, hogy a goto egy fenntartott szó, de nem kulcsszó a Java-ban.

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

A Pythonban (legalábbis a Python 3.7-től kezdve) minden kulcsszó foglalt szó, és a kulcsszavakon kívül nincsenek más foglalt szavak, így nyugodtan használhatjuk őket megkülönböztetés nélkül.

Az azonosítóként használható nevekről lásd még a következő cikket.