目次
はじめに
読んでほしい方
今回、プログラミングの予約語、特にPythonの予約語について書いています。対象読者の方は以下となります。
- プログラミング初学者の方
- Python初学者の方
- Pythonの予約語を知りたい方
予約語とは
予約語とは、識別子(変数名、関数名、クラス名など)として使用できない、あらかじめ意味を持ったキーワードのことを指します。例えば、学校のクラス名(A組、B組など)を変数や配列に入れたいとき、
# 変数
class = "A"
# 配列
class = ["A", "B"]
上記のように “class” を変数名、配列名にすることができません。これは “class” がPythonの予約語であり、意味を持ったキーワードだからです。以下のエラーが出るかと思います。
# 変数
# class = "A"
# ^
# SyntaxError: invalid syntax
# 配列
# class = ["A", "B"]
# ^
# SyntaxError: invalid syntax
改善策としては以下のような変数名に変更するように検討しましょう。
- class_name
- class_array
- school_class
予約語の調べ方
Pythonの場合
以下のファイルを作成して実行すると確認できます。
from keyword import kwlist
print(kwlist)
Python3.9.5で実行した結果がこちらになります。
['False', 'None', 'True', '__peg_parser__', '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']
Python3.9.5(執筆時最新バージョン)の予約語一覧
False | None | True | __peg_parser__ |
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 |
以上、36個の予約語が定義されています。 予約語 はバージョンによって異なるので、一度自分のPython環境で実行してみてください。
最後に
Pythonの予約語については、Pythonのバージョンが上がるにつれ予約語が増えるためバージョンを上げた際には変数が被ってないか確認してください。
コメント