Pythoni võtmesõnade (reserveeritud sõnade) loendi nägemiseks kasutage võtmesõna

Äri

Pythoni võtmesõnade (reserveeritud sõnade) loetelu leiate standardraamatukogu võtmesõnade moodulist.

Märksõnu (reserveeritud sõnu) ei saa kasutada muutujate nimede, funktsioonide nimede, klasside nimede jne nimedena (identifikaatoritena).

Siin on esitatud järgmine teave.

  • Pythoni võtmesõnade (reserveeritud sõnade) loendi hankimine:keyword.kwlist
  • Kontrollida, kas string on võtmesõna (reserveeritud sõna):keyword.iskeyword()
  • Erinevus märksõnade ja reserveeritud sõnade vahel

Nagu eelmises punktis mainitud, on märksõnad ja reserveeritud sõnad rangelt erinevad mõisted.

Järgnev näidiskood kasutab Python 3.7.3. Pange tähele, et võtmesõnad (reserveeritud sõnad) võivad sõltuvalt versioonist erineda.

Pythoni võtmesõnade (reserveeritud sõnad) loendi hankimine: keyword.kwlist

Keyword.kwlist sisaldab Pythoni võtmesõnade (reserveeritud sõnade) nimekirja.

Järgnevas näites kasutatakse pprint'i, et väljundit oleks lihtsam lugeda.

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

Nimekirja elemendid on stringid.

print(keyword.kwlist[0])
# False

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

Kui proovite kasutada neid nimesid identifikaatoritena (muutujate nimed, funktsioonide nimed, klasside nimed jne), saate veateate.

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

Kontrollida, kas string on võtmesõna (reserveeritud sõna): keyword.iskeyword()

Saate kontrollida, kas string on võtmesõna (reserveeritud sõna), kasutades keyword.iskeyword().

Kui annate argumendiks stringi, mida soovite kontrollida, tagastab see true, kui see on võtmesõna, ja false, kui see ei ole võtmesõna.

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

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

Erinevus märksõnade ja reserveeritud sõnade vahel

Kuigi me oleme neid kasutanud ilma vahet tegemata, on märksõnad ja reserveeritud sõnad rangelt võttes kaks erinevat mõistet.

  • Märksõnad: erilise tähendusega sõnad keele spetsifikatsioonis
  • Reserveeritud sõnad: sõnad, mis vastavad identifikaatorite kui stringide reeglitele, kuid mida ei saa kasutada identifikaatoritena.

Lisateavet, sealhulgas näiteid, nagu näiteks goto on reserveeritud sõna, kuid mitte Java võtmesõna, leiate järgmistelt linkidelt.

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

Pythonis (vähemalt alates Python 3.7) on kõik võtmesõnad reserveeritud sõnad ja peale võtmesõnade ei ole teisi reserveeritud sõnu, nii et neid on ohutu kasutada ilma vahet tegemata.

Vt ka järgmist artiklit identifikaatoritena kasutatavate nimede kohta.

Copied title and URL