En liste over Python-keywords (reserverede ord) kan findes i keyword-modulet i standardbiblioteket.
Nøgleord (reserverede ord) kan ikke bruges som navne (identifikatorer) for variabelnavne, funktionsnavne, klassebetegnelser osv.
- Relaterede artikler:Gyldige og ugyldige navne og navngivningskonventioner for identifikatorer (f.eks. variabelnavne) i Python
Her findes følgende oplysninger.
- Hent en liste over Python-keywords (reserverede ord):
keyword.kwlist
- Kontroller, om strengen er et nøgleord (reserveret ord):
keyword.iskeyword()
- Forskellen mellem nøgleord og reserverede ord
Som nævnt i sidste afsnit er nøgleord og reserverede ord to helt forskellige begreber.
Den følgende kodeeksempel anvender Python 3.7.3. Bemærk, at nøgleordene (reserverede ord) kan variere afhængigt af versionen.
Hent en liste over Python-keywords (reserverede ord): keyword.kwlist
keyword.kwlist indeholder en liste over nøgleord (reserverede ord) i Python.
I det følgende eksempel bruges pprint for at gøre output lettere at læse.
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']
Elementerne i listen er strenge.
print(keyword.kwlist[0])
# False
print(type(keyword.kwlist[0]))
# <class 'str'>
Hvis du forsøger at bruge disse navne som identifikatorer (variabelnavne, funktionsnavne, klassebetegnelser osv.), vil du få en fejl.
# True = 100
# SyntaxError: can't assign to keyword
Kontroller, om strengen er et nøgleord (reserveret ord): keyword.iskeyword()
Du kan kontrollere, om en streng er et nøgleord (reserveret ord) ved at bruge keyword.iskeyword().
Når du angiver den streng, du vil kontrollere, som et argument, returnerer den sandt, hvis det er et nøgleord, og falsk, hvis det ikke er et nøgleord.
print(keyword.iskeyword('None'))
# True
print(keyword.iskeyword('none'))
# False
Forskellen mellem nøgleord og reserverede ord
Selv om vi har brugt dem uden at skelne dem fra hinanden, er nøgleord og reserverede ord strengt taget to forskellige begreber.
- Nøgleord: ord med særlig betydning i den sproglige specifikation
- Reserverede ord: ord, der opfylder reglerne for identifikatorer som strenge, men som ikke kan anvendes som identifikatorer.
Se de følgende links for at få flere oplysninger, herunder eksempler som f.eks. at goto er et reserveret ord, men ikke et nøgleord i Java.
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
I Python (i hvert fald fra Python 3.7) er alle nøgleord reserverede ord, og der findes ingen andre reserverede ord ud over nøgleord, så det er sikkert at bruge dem uden at skelne mellem dem.
Se også den følgende artikel om navne, der kan bruges som identifikatorer.