Luettelo Pythonin avainsanoista (varatuista sanoista) löytyy standardikirjaston avainsanamoduulista.
Avainsanoja (varattuja sanoja) ei voi käyttää muuttujien, funktioiden, luokkien jne. niminä (tunnisteina).
- Aiheeseen liittyvät artikkelit:Tunnisteiden (esim. muuttujien nimien) kelvolliset ja epäkelvot nimet ja nimeämiskäytännöt Pythonissa.
Seuraavat tiedot annetaan tässä.
- Hae luettelo Python-avainsanoista (varatut sanat):
keyword.kwlist
- Tarkistaa, onko merkkijono avainsana (varattu sana):
keyword.iskeyword()
- Avainsanojen ja varattujen sanojen ero
Kuten edellisessä jaksossa mainittiin, avainsanat ja varatut sanat ovat täysin eri käsitteitä.
Seuraavassa esimerkkikoodissa käytetään Python 3.7.3:aa. Huomaa, että avainsanat (varatut sanat) voivat vaihdella versiosta riippuen.
Python-avainsanojen (varattujen sanojen) luettelo: keyword.kwlist
keyword.kwlist sisältää luettelon Pythonin avainsanoista (varatuista sanoista).
Seuraavassa esimerkissä käytetään pprint-ohjelmaa, jotta tuloste olisi helpommin luettavissa.
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']
Luettelon elementit ovat merkkijonoja.
print(keyword.kwlist[0])
# False
print(type(keyword.kwlist[0]))
# <class 'str'>
Jos yrität käyttää näitä nimiä tunnisteina (muuttujien nimet, funktioiden nimet, luokkien nimet jne.), saat virheilmoituksen.
# True = 100
# SyntaxError: can't assign to keyword
Tarkista, onko merkkijono avainsana (varattu sana): keyword.iskeyword()
Voit tarkistaa, onko merkkijono avainsana (varattu sana) käyttämällä keyword.iskeyword().
Kun annat tarkistettavan merkkijonon argumenttina, se palauttaa true, jos se on avainsana, ja false, jos se ei ole.
print(keyword.iskeyword('None'))
# True
print(keyword.iskeyword('none'))
# False
Avainsanojen ja varattujen sanojen ero
Vaikka olemme käyttäneet niitä erottelematta niitä toisistaan, tarkkaan ottaen avainsanat ja varatut sanat ovat kaksi eri käsitettä.
- Avainsanat: sanat, joilla on erityinen merkitys kielen määrittelyssä.
- Varatut sanat: sanat, jotka täyttävät merkkijonoina käytettäviä tunnuksia koskevat säännöt, mutta joita ei voida käyttää tunnuksina.
Katso lisätietoja seuraavista linkeistä, mukaan lukien esimerkkejä, kuten goto on varattu sana, mutta ei avainsana Javassa.
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
Pythonissa (ainakin Python 3.7:stä lähtien) kaikki avainsanat ovat varattuja sanoja, eikä avainsanojen lisäksi ole muita varattuja sanoja, joten niitä on turvallista käyttää erottelematta niitä toisistaan.
Katso myös seuraava artikkeli tunnisteina käytettävistä nimistä.
- Aiheeseen liittyvät artikkelit:Tunnisteiden (esim. muuttujien nimien) kelvolliset ja epäkelvot nimet ja nimeämiskäytännöt Pythonissa.