Um eine Liste der Python-Schlüsselwörter (reservierte Wörter) zu sehen, verwenden Sie das Schlüsselwort

Geschäft

Eine Liste der Python-Schlüsselwörter (reservierte Wörter) finden Sie im Schlüsselwortmodul der Standardbibliothek.

Schlüsselwörter (reservierte Wörter) können nicht als Namen (Bezeichner) für Variablennamen, Funktionsnamen, Klassennamen usw. verwendet werden.

Hier finden Sie die folgenden Informationen.

  • Liefert eine Liste von Python-Schlüsselwörtern (reservierte Wörter):keyword.kwlist
  • Prüfen, ob die Zeichenkette ein Schlüsselwort (reserviertes Wort) ist:keyword.iskeyword()
  • Der Unterschied zwischen Schlüsselwörtern und reservierten Wörtern

Wie im letzten Abschnitt erwähnt, handelt es sich bei Schlüsselwörtern und reservierten Wörtern um völlig unterschiedliche Konzepte.

Der folgende Beispielcode verwendet Python 3.7.3. Beachten Sie, dass die Schlüsselwörter (reservierte Wörter) je nach Version unterschiedlich sein können.

Eine Liste der Python-Schlüsselwörter (reservierte Wörter): keyword.kwlist

Die keyword.kwlist enthält eine Liste der Schlüsselwörter (reservierte Wörter) in Python.

Im folgenden Beispiel wird pprint verwendet, um die Ausgabe besser lesbar zu machen.

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

Die Elemente der Liste sind Zeichenketten.

print(keyword.kwlist[0])
# False

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

Wenn Sie versuchen, diese Namen als Bezeichner (Variablennamen, Funktionsnamen, Klassennamen usw.) zu verwenden, erhalten Sie einen Fehler.

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

Prüfen, ob die Zeichenkette ein Schlüsselwort (reserviertes Wort) ist: keyword.iskeyword()

Sie können überprüfen, ob eine Zeichenkette ein Schlüsselwort (reserviertes Wort) ist, indem Sie keyword.iskeyword() verwenden.

Wenn Sie die zu prüfende Zeichenkette als Argument angeben, wird true zurückgegeben, wenn es sich um ein Schlüsselwort handelt, und false, wenn es kein Schlüsselwort ist.

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

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

Der Unterschied zwischen Schlüsselwörtern und reservierten Wörtern

Obwohl wir sie bisher ohne Unterscheidung verwendet haben, handelt es sich bei Schlüsselwörtern und reservierten Wörtern streng genommen um zwei unterschiedliche Konzepte.

  • Schlüsselwörter: Wörter mit besonderer Bedeutung in der Sprachspezifikation
  • Reservierte Wörter: Wörter, die die Regeln für Bezeichner als Zeichenketten erfüllen, aber nicht als Bezeichner verwendet werden können.

Unter den folgenden Links finden Sie weitere Einzelheiten, darunter Beispiele wie goto ist ein reserviertes Wort, aber kein Schlüsselwort in 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

In Python (zumindest ab Python 3.7) sind alle Schlüsselwörter reservierte Wörter und es gibt keine anderen reservierten Wörter außer Schlüsselwörtern, so dass es sicher ist, sie ohne Unterscheidung zu verwenden.

Siehe auch den folgenden Artikel über Namen, die als Bezeichner verwendet werden können.

Copied title and URL